Vue CLI3 开启gzip压缩

gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度。html、js、css文件甚至json数据都可以用它压缩,可以减小60%以上的体积。

webpack在打包时可以借助 compression webpack plugin 实现gzip压缩,首先需要安装该插件:

cnpm i -D compression-webpack-plugin

在vue cli3.0 生成的项目里,可在 vue.config.js 中按照如下方式进行配置:

const CompressionPlugin = require("compression-webpack-plugin")

 

Vue CLI3 开启gzip压缩_第1张图片

 

 //生产环境,开启js\css压缩
    if (process.env.NODE_ENV === 'production') {
        config.plugin('compressionPlugin').use(new CompressionPlugin({
          test: /\.js$|.\css|.\less/, // 匹配文件名
          threshold: 10240, // 对超过10k的数据压缩
          deleteOriginalAssets: false // 不删除源文件
        }))
    }

 

Vue CLI3 开启gzip压缩_第2张图片

 

生成的压缩文件以.gz为后缀:

Vue CLI3 开启gzip压缩_第3张图片

 

一般浏览器都已支持.gz的资源文件,在http请求的Request Headers 中能看到 Accept-Encoding:gzip

Vue CLI3 开启gzip压缩_第4张图片

 

 

要使服务器返回.gz文件,还需要对服务器nginx进行配置,根据Request Headers的Accept-Encoding标签进行鉴别,如果支持gzip就返回.gz文件

你可能感兴趣的:(Vue)