如何通过创建React应用程序启用JIT(即时模式)?

Ame*_*gam 5 javascript reactjs tailwind-css craco

我尝试自己在 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: [],};
Run Code Online (Sandbox Code Playgroud)

package.json 脚本

    "scripts": {
    "start": " craco start",
    "build": "TAILWIND_MODE=watch craco build",
    "test": "craco test",
    "server": "nodemon ./server/server.js",
    "eject": "react-scripts eject"
},
Run Code Online (Sandbox Code Playgroud)

package.json devDependency

"devDependencies": {
    "autoprefixer": "^9.8.6",
    "postcss": "^7.0.36",
    "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.4"
},
Run Code Online (Sandbox Code Playgroud)

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

pla*_*ire 10

如果你使用的是Windows(我怀疑你可能是从你对@Ako的答案的评论中得到的),那么你的设置是正确的,但你只需要安装cross-env,然后调整你的启动脚本,如下所示:

"start": "cross-env TAILWIND_MODE=watch craco start"
Run Code Online (Sandbox Code Playgroud)


Ako*_*Ako 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",
  },
Run Code Online (Sandbox Code Playgroud)

另外,您必须在 tailwind.config.css 文件内的 purge 属性中添加'./src/components/*.{js,jsx}',以便清除应如下所示:

purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html', './src/components/*.{js,jsx}'],
Run Code Online (Sandbox Code Playgroud)

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

克隆此存储库并在构建项目后使用npm run servebuild并查看它是否有效。 https://github.com/ako-v/cra-tailwindcss-jit-craco