|
@@ -9,6 +9,20 @@ module.exports = {
|
|
|
lintOnSave: true,
|
|
|
productionSourceMap: false,
|
|
|
chainWebpack: (config) => {
|
|
|
+ //gzip压缩
|
|
|
+ const CompressionWebpackPlugin = require('compression-webpack-plugin')
|
|
|
+ if (process.env.NODE_ENV === 'production') {
|
|
|
+ config.plugin('CompressionPlugin').use(
|
|
|
+ new CompressionWebpackPlugin({
|
|
|
+ filename: '[path][base].gz[query]', // 压缩后的文件名(保持原文件名,后缀加.gz)
|
|
|
+ algorithm: 'gzip', // 使用gzip压缩
|
|
|
+ test: /\.js$|\.css$/, // 匹配文件名
|
|
|
+ threshold: 10240, // 对超过10k的数据压缩
|
|
|
+ minRatio: 0.8, // 压缩率小于1才会压缩
|
|
|
+ deleteOriginalAssets: false // 是否删除未压缩的源文件,谨慎设置,如果希望提供非gzip的资源,可不设置或者设置为false(比如删除打包后的gz后还可以加载到原始资源文件)
|
|
|
+ })
|
|
|
+ )
|
|
|
+ }
|
|
|
// 开启压缩js代码
|
|
|
config.optimization.minimize(true)
|
|
|
// 开启代码分割
|