vue cli目前还没有自带这个功能,需要安装一个webpack的插件:

插件安装

yarn add compression-webpack-plugin

更新:2020-12-17

千万不要安装最新的7.0版本,会报错,而且目前没有人提供解决方案,我这里提供两个版本,大家自行选择安装

稍微新一些的

yarn add compression-webpack-plugin@6.1.1

旧的

yarn add compression-webpack-plugin@4.0.0

使用这两个版本不会出现报错,个人亲测

配置

安装完打开vue的配置文件vue.config.js,和package.json文件同级,没有就手动创建。

里面内容如下:

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

module.exports = {
 configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      return {
        plugins: [
          new CompressionPlugin({
            algorithm: 'gzip',
            test: /\.(js|css)$/,// 匹配文件名
            threshold: 10240, // 对超过10k的数据压缩
            deleteOriginalAssets: false, // 不删除源文件
            minRatio: 0.8 // 压缩比
          })
        ]
      }
    }
  }
}

有需要可以自定义配置,然后打包项目,你会发现js文件夹里面会出现很多gzip压缩包。

nginx配置

直接在nginx的配置文件里加上这句gzip_static on; # 开启 gzip 压缩

这句话如果是宝塔的话,直接在配置文件的第一个大括号最后面书写就行了。

vue cli4 开启gzip压缩 nginx开启gzip

查看是否开启gzip

项目上传到网站后,可以刷新网站,查看js文件的头信息,其中请求头信息中有这么一句话:

请求头信息

Accept-Encoding : gzip, deflate

响应头信息

Content-Encoding : gzip

火狐浏览器两个都可以看到,谷歌的只能看到响应头,只要有对应的信息就说明gzip开启成功,gzip差不多可以节省一半的大小从而减少带宽的负担,开一开也没啥不行。

分类: 教程vue 项目实战 标签: vue开启gzip压缩nginx开启gzipgzipvue cli

评论

暂无评论数据

暂无评论数据

目录