簡體   English   中英

從反應項目中的引導程序等框架中刪除未使用的 CSS 類

[英]Remove unused CSS classes from frameworks like bootstrap in a react project

我們目前正在使用 webpack 和 babel 開發一個反應項目,並希望自動刪除我們使用的 CSS 框架 Bootstrap 和 AdminLTE 2 中未使用的 CSS 類。

在項目中我們使用webpack (v4.41.0) , babel (v7.6.2)react (16.10.1) 要使用 CSS 類,我們使用 babel 插件babel-plugin-react-css-modules ,它使用 css 模塊。

什么是現代和現代的方式來做到這一點?

正如 djfdev 已經寫的那樣,purgcss 工作得很好:purgcss 只是搜索所有 JavaScript 文件,以查找使用過的 CSS 文件的CSS class 字符串的出現,並刪除那些找不到的文件。

您應該添加這兩個配置:

defaultExtractor: (content) => content.match(/[\w-/:]+(?<!:)/g) || [],
safelist: {
  standard: ["html", "body"],
},

到你的 postcss 配置。 我正在使用 [craco][1],這是配置文件的樣子:

const purgecss = require("@fullhuman/postcss-purgecss");

module.exports = {
  style: {
    postcss: {
      plugins: [
        purgecss({
          content: ["./src/**/*.html", "./src/**/*.js"],
          css: ["./src/**/*.css"],
          defaultExtractor: (content) => content.match(/[\w-/:]+(?<!:)/g) || [],
          safelist: {
            standard: ["html", "body"],
          },
        }),
      ],
    },
  },
};

如果您使用的是 postcss 配置,它看起來應該是一樣的。 [1]: https://purgecss.com/guides/react.html#use-craco

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM