MiniCssExtractPlugin不适用于哈希作为参数

时间:2019-06-10 12:59:04

标签: webpack minify css-loader

我正在使用 MiniCssExtractPlugin 作为CSS缩小器。

CSS文件用于外部项目,因此,我需要使用哈希作为参数。

我的哈希是文件名的一部分,因此一切正常。 例子

plugins.push(
    new MiniCssExtractPlugin({
      filename: '[name].[hash:4].css',
    })
  );

但如果将哈希作为参数传递

plugins.push(
    new MiniCssExtractPlugin({
      filename: '[name].css?[hash:4]',
    })
  );

将生成文件,但不会缩小文件。

 rules.push(
    {
      test: /\.css$/,
      exclude: paths.navigation,
      use: [
        'style-loader',
        'css-loader',
        'sass-loader',
        'postcss-loader',
      ],
    }
  );

1 个答案:

答案 0 :(得分:1)

MiniCssExtractPlugin不会缩小CSS,因此如果您想缩小CSS,使用mini-css-extract-plugin

运行此命令进行安装

npm install --save-dev mini-css-extract-plugin

然后在您的Webpack中

const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");


optimization: {
    minimizer: [
        new OptimizeCSSAssetsPlugin({
            cssProcessorOptions: {
                safe: true,
                discardComments: {
                    removeAll: true,
                },
            },
        })
    ]
},
相关问题