Tips: 个人学习编写webpack 插件, 不建议生产环境使用
Webpack 压缩插件,支持
gzip
brotli
压缩
$ npm i @dking/webpack-compress-plugin --dev
$ yarn add @dking/webpack-compress-plugin -D
// webpack.config.js
const path = require('path');
const CompressPlugin = require('@dking/compress-webpack-plugin');
module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist'),
},
plugins: [
new CompressPlugin({
deleteOriginalAssets: true, // 是否删除压缩前的文件,看情况配置, 默认false
algorithm : 'brotli', // 压缩算法,默认就是gzip
})
]
};
// 配置文件
new CompressPlugin({
deleteOriginalAssets: false, // 是否删除压缩前的文件,看情况配置默认 false
algorithm : 'gzip', // 压缩算法,默认就是gzip
test : /./, // 默认所有文件都压缩
threshold : 1000, // 只处理比这个值大的资源。按字节计算
minRatio : 0.8, // 只有压缩率比这个值小的资源才会被处理
})
欢迎创建issue 或者 pr here.