解决页面加载太慢

所有操作都是在打包构建之前修改配置;

开启gzip压缩机制

在IBPS平台中。修改.env文件

  • 修改前VUE_APP_GZ = false
  • 修改后VUE_APP_GZ = true

    经过gzip压缩的包可以缩小约2/3体积,对网络传输的提升显著。开启gzip需要服务器的配合,以nginx为例,在nginx.conf中加入

server: {
    ...
    gzip on; # 是否开启gzip
    gzip_buffers 32 4K; #缓冲(压缩在内存中缓冲几块? 每块多大?)
    gzip_comp_level 6; #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
    gzip_min_length 100; #开始压缩的最小长度(再小就不要压缩了,意义不在)
    gzip_types application/javascript text/css text/xml; #对哪些类型的文件用压缩 如txt,xml,html ,css
    gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_vary on; #是否传输gzip压缩标志
}

这样,客户端请求文件时,服务器就会自动压缩文件。但是服务器的压缩是需要CPU开销的,为了节省CPU资源,我们可以在打包的时候同时打包一份gzip,配置如下

  configureWebpack: config => {
    const configNew = {}
    if (process.env.NODE_ENV === 'production') {
      configNew.externals = externals
      if (enableGzip) { //是否开启gzip
        configNew.plugins = [
          // gzip
          new CompressionWebpackPlugin({
            filename: '[path][base].gz[query]',
            test: new RegExp('\\.(' + ['js', 'css'].join('|') + ')$'),
            threshold: 10240,
            minRatio: 0.8,
            deleteOriginalAssets: false //是否删除原文件
          })
        ]
      }
    }
    return configNew
  }

开启第三方资源文件CDN加速

  • 修改.env文件
  • 修改前VUE_APP_CDN = false
  • 修改后VUE_APP_CDN = true

dependencies-cdn.js 配置需要CDN的第三方库

文档更新时间: 2020-09-22 09:14   作者:Eddy