vue项目安装compression-webpack-plugin插件
cnpm install compression-webpack-plugin
最新的compression-webpack-plugin插件运行起来可能会报错,找不到什么乱七八糟的属性:
卸载原来的版本
npm uninstall compression-webpack-plugin
安装5.0.1版本
npm i compression-webpack-plugin@5.0.1
vue.config.js中添加配置
productionSourceMap: false,
publicPath: '/',
configureWebpack: config => {
// 生产环境下使用gzip
if (process.env.NODE_ENV === 'production') {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
// 增加浏览器CPU(需要解压缩), 减少网络传输量和带宽消耗 (需要衡量,一般小文件不需要压缩的)
// 图片和PDF文件不应该被压缩,因为他们已经是压缩的了,试着压缩他们会浪费CPU资源而且可能潜在增加文件大小。
config.plugins.push(
new CompressionWebpackPlugin({
filename: '[path].gz[query]', // asset -> filename
algorithm: 'gzip',
test: /\.(js|css)$/,
threshold: 10240, // 达到10kb的静态文件进行压缩 按字节计算
minRatio: 0.8, // 只有压缩率比这个值小的资源才会被处理
deleteOriginalAssets: false // 是否删除压缩的源文件
})
)
}
},
nginx.conf中添加
gzip on;
gzip_static on;
gzip_buffers 4 16k;
gzip_comp_level 5;
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;