compression-webpack-plugin
插件文档
- 安装使用 compression-webpack-plugin 插件对文件进行压缩
npm i compression-webpack-plugin
- 使用
const CompressionPlugin = require('compression-webpack-plugin')
module.exports = {
configureWebpack: config => {
config.plugins.push(
new CompressionPlugin({
algorithm: 'gzip',
test: /\.js$|\.html$|\.css/,
threshold: 20480,
deleteOriginalAssets: false
})
)
}
}
- 打包。报错!!!!!
默认安装的compression-webpack-plugin是7.0.1版本的。但是compression-webpack-plugin": “^7.0.0”,需要"webpack": "^5.9.0"
文档
Cannot read property 'tapPromise' of undefined
- 解决办法:降低版本
npm uninstall compression-webpack-plugin
npm i compression-webpack-plugin@5.0.1
uglifyjs-webpack-plugin
插件文档
- 安装 uglifyjs-webpack-plugin 插件对js文件进行压缩
npm i uglifyjs-webpack-plugin
- 使用
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
configureWebpack: config => {
config.plugins.push(
new UglifyJsPlugin({
uglifyOptions: {
output: {
comments: false
},
compress: {
warnings: false,
drop_debugger: true
}
},
parallel: true,
sourceMap: false
})
)
}
}
- 打包,然后报错。。。
`warnings` is not a supported option
- 解决办法。
降低版本。将版本降低为 1.x即可npm uninstall uglifyjs-webpack-plugin
npm i uglifyjs-webpack-plugin@1.1.1
修改配置,将 compress.waring 删除,修改为使用 warningsFilterconfig.plugins.push(
new UglifyJsPlugin({
uglifyOptions: {
output: {
comments: false
},
compress: {
drop_debugger: true
}
},
parallel: true,
sourceMap: false,
warningsFilter: () => false
})