Webpack 中 CSS 压缩插件

Optimize CSS Assets Webpack Plugin

一个优化\减少CSS资源的Webpack插件。

该插件有什么作用?

  1. 它将在Webpack构建期间搜索CSS资源,并将优化\最小化CSS(默认情况下,它使用cssnano,但可以指定自定义CSS处理器)。
  2. 解决了extract-text-webpack-plugin CSS重复问题:
  3. 由于extract-text-webpack-plugin仅捆绑(合并)文本块,如果它用于捆绑CSS,则捆绑包可能具有重复的条目(块可以是重复的,但是当合并时,可以创建重复的CSS)。

安装:

 npm install --save-dev optimize-css-assets-webpack-plugin

注意:对于webpack v3或更低版本,请使用[email protected][email protected]及以上版本支持webpack v4。

参数:

该插件可以接收以下选项(所有这些都是可选的):

  1. assetNameRegExp:一个正则表达式,指示应优化\最小化的资产的名称。提供的正则表达式针对配置中ExtractTextPlugin实例导出的文件的文件名运行,而不是源CSS文件的文件名。默认为/\.css$/g
  2. cssProcessor:用于优化\最小化CSS的CSS处理器,默认为cssnano。这应该是一个跟随cssnano.process接口的函数(接收CSS和选项参数并返回一个Promise)。
  3. cssProcessorOptions:传递给cssProcessor的选项,默认为{}
  4. canPrint:一个布尔值,指示插件是否可以将消息打印到控制台,默认为true

实例:

var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
      }
    ]
  },
  plugins: [
    new ExtractTextPlugin('styles.css'),
    new OptimizeCssAssetsPlugin({
      assetNameRegExp: /\.optimize\.css$/g,
      cssProcessor: require('cssnano'),
      cssProcessorOptions: { safe: true, discardComments: { removeAll: true } },
      canPrint: true
    })
  ]
};

原文地址: https://www.npmjs.com/package/optimize-css-assets-webpack-plugin

猜你喜欢

转载自blog.csdn.net/github_37360787/article/details/82183557