webpack之插件optimize css assets webpack plugin

1. 安装:

主要是用来压缩css文件

1
2
3
npm i -D optimize-css-assets-webpack-plugin
// webpack 3及以下
npm i -D optimize-css-assets-webpack-plugin@3.2.0

2. webpack.config.js配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
module: {
rules: [
{
test: /\.css$/,
loader: MiniCssExtractPlugin.extract('style-loader', 'css-loader')
loader: MiniCssExtractPlugin.loader,
options: {publicPath: '/public/path/to/' }
}
]
},
plugins: [
new ExtractTextPlugin('styles.css'),
//new OptimizeCssAssetsPlugin()
new OptimizeCSSAssetsPlugin({
assetNameRegExp: /\.css$/g,
cssProcessor: require('cssnano'),
cssProcessorPluginOptions: {
preset: ['default', { discardComments: { removeAll: true } }],
},
canPrint: true
}),
]
};

3. 参数

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

webpack4.X版本中,webpack -p命令,是可以默认压缩js文件的