解决 Tailwind CSS 在 Next.js 应用中失败的方法

阅读时长 6 分钟读完

如果你在使用 Next.js 开发前端应用时,尝试使用 Tailwind CSS ,却遇到了一些困难,本篇文章将会帮助你解决这些问题。在本文中,我们将介绍几种可能的解决方案,其中有些方法可能适用于你的应用,而有些方法则不一定适用。请耐心阅读,尝试不同的解决方法,以找到最适合你的解决方案。

Tailwind CSS 简介

Tailwind CSS 是一种用于构建可定制性极高的用户界面的 CSS 框架。它没有预先定义的样式,而是提供了一组低级别的构建块,使您可以定义自己的样式。您可以使用 Tailwind CSS 提供的类来构建自定义样式,而不需要编写自己的 CSS。

在 Next.js 中使用 Tailwind CSS 的常见问题

问题 1:在样式文件中无法使用 @apply

如果你尝试在样式文件中使用 @apply ,你可能会看到类似下面的错误信息:

-- -------------------- ---- -------
------ ----- ------ ----- ---------------------------------------------------------
-----------
----- ------- ----

- -
- - -------- -
- -   ------ ------------
  - -
- - -

原因是 Next.js 默认使用 CSS Modules ,然而 CSS Modules 不支持 @apply 。解决方法是使用 next-plugin-postcss 插件,在 next.config.js 配置文件中添加如下代码:

-- -------------------- ---- -------
----- ------- - --------------------
----- ----------- - --------------------------------
----- ------ - -----------------------------------
  ------------
  -----------
  ------------------
  ---------------
---
----- ----------- - -------------------------------

-------------- - ---------------------------- -
  -- --- ----- -------------- ----
---

这样就可以在样式文件中使用 @apply 了。需要注意的是,你还需要在 postcss.config.js 文件中添加以下代码:

问题 2:无法引入 tailwind.css 文件

在 Next.js 中引入 CSS 文件需要通过 import 语句引入,但是在使用 Tailwind CSS 的时候,我们无法直接引入 tailwind.css 文件。解决方法是在项目中使用 postcss ,并按照 Tailwind CSS 官方文档设置 postcss.config.js 文件。另外,你也可以使用 postcss-import 实现类似的效果。以下是一个 postcss.config.js 文件的样例:

问题 3:无法实时刷新样式

在使用 Next.js 进行开发时,你可能会遇到更改 tailwind.css 文件后,网页并没有实时更新的情况。这是因为 Next.js 默认情况下不会监视该文件的更改。解决方法是在自定义 _document.js 文件中添加 Tailwind CSS 样式表:

-- -------------------- ---- -------
------ --------- - ----- ----- ---------- - ---- ----------------
------ - ---------------- - ---- --------------------
------ -------- ---- ------------------------

----- ---------- ------- -------- -
  ------ ----- -------------------- -
    ----- ----- - --- -------------------
    ----- ------------------ - ---------------

    --- -
      -------------- - -- --
        --------------------
          ----------- ----- -- ------- -- ------------------------ ---------- ----
        ---

      ----- ------------ - ----- ------------------------------

      ------ -
        ----------------
        ------- -
          --
            -------------------------
            ------
              --------------------------
                ------- -
                  --------- -----
                  --------- -----------
                  --------- ----------
                --
              --
            --
          ---
        --
      --
    - ------- -
      -------------
    -
  -

  -------- -
    ------ -
      ------
        ----- --
        ------
          ----- --
          ----------- --
        -------
      -------
    --
  -
-

------ ------- -----------

这样修改了 tailwind.css 后,webpack 就会自动重新打包,网页也会自动更新。

总结

在本文中,我们介绍了在 Next.js 应用中使用 Tailwind CSS 时可能遇到的问题,并提供了多种解决方法。在实际开发中,需要根据具体的场景选择合适的解决方案。如果你还遇到其他问题,请尝试搜索 Tailwind CSS 社区和 Next.js 社区寻找答案。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65194b2495b1f8cacd17a8d9

纠错
反馈