【问题标题】:How to stop Webpack-3's PurifyCSSPlugin from cleaning to much?如何阻止 Webpack-3 的 PurifyCSSPlugin 清理太多?
【发布时间】:2018-01-27 23:06:42
【问题描述】:

问题

其他条件相同,我的最终页面的 CSS 结果不同。 prod 版本缺少正确的 flexbox 对齐方式,如下图所示:

开发

产品

问题是由 PurifyCSSPlugin 引起的。我不知道如何配置它仍然清理 css 的正确部分,保留我真正需要的部分?

任何帮助将不胜感激。完整代码可在here获取。

研究至今

2017 年 8 月 21 日更新:

在生产版本中,以下类缺少 css

  • 字幕

    title:not(.is-spaced) + .subtitle { 边距顶部:-1.5rem; }

  • @media screen and (min-width: 769px), print .columns:not(.is-desktop) { 显示:弯曲; }

设置

我使用 webpack-3 和 bulma 来创建一个 webpage。我定义了两个脚本任务来构建我的应用程序 1. 用于开发,2. 用于生产。

"dev": "webpack-dev-server --progress --colors",
"prod": "npm run clean && NODE_ENV=prod webpack -p",

在我的 webpack 配置中,我根据 NODE_ENV 变量在 CSS 处理的两个配置之间切换。配置如下:

const cssConfigEnvironments = {
    'dev': ['style-loader', 'css-loader?sourceMap', 'sass-loader'],
    'prod': ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'sass-loader']
    })
}

此外,我禁用了用于开发的 ExtractTextPlugin。

    new ExtractTextPlugin({                                                                 // Builds .css, see https://github.com/webpack-contrib/extract-text-webpack-plugin
        filename: '[name].css',
        allChunks: true,
        disable: !envIsProd
    }),

控制台内显示的唯一值得注意的信息是以下弃用警告:

(node:2275) DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.

【问题讨论】:

    标签: html css bulma webpack-3 purifycss


    【解决方案1】:

    问题确实来自 PurifyCSSPlugin,an issue already open 正在解决它。

    作为一种快速修复,您必须将not 标签列入白名单:

        new PurifyCSSPlugin({
            // Give paths to parse for rules. These should be absolute!
            paths: glob.sync(path.join(__dirname, 'src/*.html')),
            minimize: envIsProd,
            purifyOptions: {
              info: true,
              whitelist: [ '*:not*' ]
            }
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多