vue-cli中配置gzip压缩

对于静态资源,有两种开启压缩的方式,一种是compress in time,一种是precompression
第一种方式是在服务端实时压缩,第二种方式是在前端预先压缩了。这样当HTTP请求到达之后,直接响应已经压缩过的文件,可以节约服务器的cpu
在这里插入图片描述
下面介绍的是第二种方式如何配置,只记录前端部分的配置,(因为服务器nginx那边不是咱们配的咱们也就是不太清楚


示例基于
vue:"^2.6.11"
vue-cli:"~4.5.0"

1. 引入依赖compression-webpack-plugin

这里最好带一个版本,不要太高,之前默认安装了最新版本打包会报错,我这里就选了5.0.0
npm install --save-dev compression-webpack-plugin@5.0.0

2. vue.config.js配置

vue-cli4.x项目默认没有vue.config.js(3.x同样没有),请手动创建
配置如下:

const CompressionWebpackPlugin = require('compression-webpack-plugin');

// 是否为生产环境
const isProduction = process.env.NODE_ENV !== 'development';
module.exports = {
  productionSourceMap: false,
  configureWebpack: config => {
      // 生产环境相关配置
      if (isProduction) {
        //gzip压缩
        const productionGzipExtensions = ['html', 'js', 'css']
        config.plugins.push(
            new CompressionWebpackPlugin({
                filename: '[path].gz[query]',
                algorithm: 'gzip',
                test: new RegExp(
                    '\\.(' + productionGzipExtensions.join('|') + ')$'
                ),
                threshold: 10240, // 只有大小大于该值的资源会被处理 10240
                minRatio: 0.8, // 只有压缩率小于这个值的资源才会被处理
                deleteOriginalAssets: false // 删除原文件
            })
        )
    }
}
};

效果不错!
在这里插入图片描述
在这里插入图片描述


参考博文:
这一篇里面也有介绍nginx中如何配置:https://juejin.cn/post/6844904071896236040
https://blog.csdn.net/weixin_39683021/article/details/112351698

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值