vue.config.js
const path = require('path') const CompressionWebpackPlugin = require('compression-webpack-plugin') const productionGzipExtensions = ['js', 'css'] const isProduction = process.env.NODE_ENV === 'production' module.exports = { configureWebpack: config => { if (isProduction) { config.plugins.push(new CompressionWebpackPlugin({ algorithm: 'gzip', test: new RegExp('\.(' + productionGzipExtensions.join('|') + ')$'), threshold: 10240, minRatio: 0.8 }) ) } } }
注意这里使用的是 compression-webpack-plugin 2.0.0,如果使用1.x 可能需要指定 assets 选项,2.0 改选项改为了 filename,并且可以省略
本地构建会直接生成 gzip 文件
nginx 端需要开启静态Gzip,参见:https://www.cnblogs.com/savokiss/p/8419343.html