vue前端性能优化开启gzip压缩和nginx配置设置

以下配置在Vue-cli框架上进行
1、找到config/index.js下,

// Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: true,
    productionGzipExtensions: ['js', 'css'],

将productionGzip由false改为true,表示开启gzip打包压缩,看注释,发现需要安装一个compression-webpack-plugin
摸摸度娘后发现直接安装有坑,所以,下一步

2、修改build/webpack.prod.conf.js文件中,asset选项无效,要改成filename

 webpackConfig.plugins.push(
    new CompressionWebpackPlugin({
      // asset: '[path].gz[query]',   // 就是她这个妖媚
      filename: '[path].gz[query]',
      algorithm: 'gzip',
      test: new RegExp(
        '\\.(' +
        config.build.productionGzipExtensions.join('|') +
        ')$'
      ),
      threshold: 10240,
      minRatio: 0.8
    })
  )

3、再安装那个包包,有人说高版本错误,低版本没事,不想折腾了,直接低版本吧,安装v1.1.2

npm install --save-dev compression-webpack-plugin@1.1.2

4、再次运行npm run build打包,打包文件中就由了gzip文件了,前端的工作算结束了。接下来,帮后端同学修改一下nignx配置

5、在后台nignx配置文件,nignx.config文件中,开启gzip,添加配置

gzip                    on;
gzip_http_version       1.1;        
gzip_comp_level         5;
gzip_min_length         1000;
gzip_types text/csv text/xml text/css text/plain text/javascript application/javascript application/x-javascript application/json application/xml;

啥意思呢,怎么这么多,单纯的gzip设置为on,发现有些压缩了,有些没有,

  • gzip_http_version设置http最低版本,默认是1.0,修改为1.1
  • gzip_comp_level压缩级别,级别越高压缩率越大,当然压缩时间也就越长,默认值1,取值1-9
  • gzip_min_length设置允许压缩的页面最小字节数,Content-Length小于该值的请求将不会被压,缩默认值:0,当设置的值较小时,压缩后的长度可能比原文件大,建议设置1000以上
  • gzip_types 要采用gzip压缩的文件类型(MIME类型),默认值:text/html(默认不压缩js/css)

最重要的就是gzip_types玩意啦,不然只压缩heml文件,我折腾了大半天,你就给我看这个?

6,最后一步,重启nignx服务器,
在这个服务器文件夹目录执行命令行nignx -s reload重启服务器就好了。

ok,到此结束!

老规矩,推荐一篇好文章,参考
前端必备的 Nginx 知识: https://www.jianshu.com/p/cf90320102f9

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值