React中使用了react-css-modules后如何消除无用的CSS

发布于 2022-09-06 11:13:19 字数 1654 浏览 13 评论 0

用purifycss-webpack插件进行如下配置:

const path = require("path");
const glob = require("glob");
module.exports = {
  module: {
    rules: [
      {
        test: /\.scss$/,
        exclude: path.resolve(__dirname,"../src/styles"),//styles文件夹是全局样式,不对全局样式进行CSS模块化
        use: extractTextPlugin.extract({
            fallback: "style-loader",
            use:  [
                {
                    loader: "css-loader",
                    options: {
                        modules: true,
                        localIdentName: "MODULES-[hash:base64:5]"//设置className打包后都以Modules为前缀
                    }
                },
                {
                    loader: "sass-loader"
                },
                {
                    loader: "sass-resources-loader",
                    options: {
                        resources: path.resolve(__dirname,'../src/styles/variable.scss')//指定全局样式文件,定义了一些变量以及函数
                    }
                }
            ]
        })
      }
    ]
  },
  plugins: [
    new extractTextPlugin("css/[name].[contenthash:5].css"),
    new PurifyCSSPlugin({
        //用来指定清除无效CSS的html文件,这里是单页应用,就指定首页index.html
        paths: glob.sync(path.resolve(__dirname,'../src/index.html')),
        //这里设置为scss是因为项目样式都是用scss写的
        styleExtensions: ['.scss'],
        purifyOptions: {
        //这个选项主要是针对CSS模块化开启白名单的,这里就设置了以MODULES为前缀的className
            whitelist: ['*MODULES*']
        }
    })
  ]
};

我打包项目发现根本没有去除无用的CSS,请问问题出在哪里?

查看github,发现类似问题:https://github.com/webpack-co...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凤舞天涯 2022-09-13 11:13:19

你好,css modules使用purify-webpack没报错吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文