CompressionWebpackPlugin
CompressionWebpackPlugin
准备资源的压缩版本以通过Content-Encoding为其提供服务
安装
npm i -D compression-webpack-plugin
用法
webpack.config.js
const CompressionPlugin = require("compression-webpack-plugin")
module.exports = {
plugins: [
new CompressionPlugin(...options)
]
}
选项
Name | 类型 | 默认 | 描述 |
---|---|---|---|
test | {RegExp} | . | 所有匹配此{RegExp}的资产都会被处理 |
asset | {String} | path.gzquery | 目标资产名称。文件被替换为原始资产。路径将替换为原始资产的路径并使用查询进行查询 |
filename | {Function} | 假 | {功能}(资产)=>接收资产名称(处理资产选项后)并返回新资产名称的资产 |
algorithm | {String|Function} | gzip的 | 可以是(缓冲区,cb)=> cb(缓冲区),或者如果使用了{String},则该算法取自zlib` | |
threshold | {Number} | 0 | 只处理大于此大小的资产。以字节为单位 |
minRatio | {Number} | 0.8 | 只有压缩好这个比率的资产才能被处理 |
deleteOriginalAssets | {Boolean} | 假 | 是否删除原始资产 |
webpack.config.js
[
new CompressionPlugin{
test: /\.js/
})
]
asset
webpack.config.js
[
new CompressionPlugin{
asset: '[path].gz[query]'
})
]
filename
webpack.config.js
[
new CompressionPlugin{
filename (asset) {
asset = 'rename'
return asset
}
})
]
algorithm
webpack.config.js
[
new CompressionPlugin{
algorithm: 'gzip'
})
]
threshold
webpack.config.js
[
new CompressionPlugin{
threshold: 0
})
]
minRatio
webpack.config.js
[
new CompressionPlugin{
minRatio: 0.8
})
]
deleteOriginalAssets
webpack.config.js
[
new CompressionPlugin{
deleteOriginalAssets: true
})
]