5

我尝试自己在 create-react-app 中设置 JIT,但它似乎没有工作,因为样式没有更新。我正在使用 craco 使用 tailwind css 构建应用程序,并且还添加了 TAILWIND mode=WATCH,因为他们建议使其适用于大多数构建。这是我的配置:

tailwind.config.js

module.exports = {
mode: "jit",
purge: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
darkMode: false, // or 'media' or 'class'
theme: {
    extend: {
        colors: {
            primary: "#ffa500",
            secondary: {
                100: "#E2E2D5",
                200: "#888883",
            },
        },
    },
},
variants: {
    extend: {
        opacity: ["disabled"],
    },
},
plugins: [],};

package.json 脚本

    "scripts": {
    "start": " craco start",
    "build": "TAILWIND_MODE=watch craco build",
    "test": "craco test",
    "server": "nodemon ./server/server.js",
    "eject": "react-scripts eject"
},

package.json devDependencies

"devDependencies": {
    "autoprefixer": "^9.8.6",
    "postcss": "^7.0.36",
    "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.4"
},

如果我能找到任何方法来解决这个问题,我会很高兴。

4

3 回答 3

8

如果您在 Windows 上(我怀疑您可能来自您对 @Ako 答案的评论),那么您的设置是正确的,但您只需要安装cross-env,然后像这样调整您的启动脚本:

"start": "cross-env TAILWIND_MODE=watch craco start"
于 2021-09-02T00:03:00.187 回答
6

你必须TAILWIND_MODE=watch在你的启动脚本中使用而不是build,并且在你开发了你想要的东西之后,只用脚本来构建它craco build。所以你的 package.json 脚本必须如下所示:

  "scripts": {
    "start": "TAILWIND_MODE=watch craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject",
  },

同样在 tailwind.config.css 文件中的 purge 属性中,您必须添加'./src/components/*.{js,jsx}',因此 purge 应该如下所示:

purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html', './src/components/*.{js,jsx}'],

构建应用程序后,您必须在构建文件夹中提供index.html文件。

克隆这个 repo 并在构建项目后使用npm run servebuild,看看它是否有效。 https://github.com/ako-v/cra-tailwindcss-jit-craco

于 2021-08-04T11:27:58.013 回答
1

所以你必须使用 tailwindcss CLI 中提供的 ```--watch``` 选项来查看你的 JSX、JS、HTML 文件,
所以你可以做的是在 react 项目的根目录中打开一个新终端并按照下面的命令
npx tailwindcss -o ./src/App.css --watch
  • [-i]您也可以使用此选项提供输入文件。
  • [-o]根据您的文件夹结构修改输出。

这将确保重建 CSS 文件,下一步是打开另一个终端并执行此操作npm start,并且您的开发服务器已准备好使用 JIT 编译器。

(旁注)
此外,我将 tailwind 与 package.json 的默认配置一起使用,并且在没有craco(JIT / 默认)和生产环境的情况下也可以顺利运行。

于 2021-08-03T03:36:12.007 回答