Vue打包优化

2019-03-06  本文已影响0人  O槑頭槑腦

1、路由懒加载

{ 
  path: '/fourKey',
  meta: {
    requireAuth: true // 配置此条,进入页面前判断是否需要登陆
  },
        component:resolve => require(['@/views/auth/fourKey'],resolve)
}

2、不生成.map 文件

build配置如下在 config ==> index.js 里面

productionSourceMap: false,

3、 gzip压缩

3.1 首先打开 config/index.js ,找到 build 对象中的 productionGzip ,改成 true
3.2 打开 productionGzip: true 之前,先要安装依赖 compression-webpack-plugin ,官方推荐的命令是:
npm install --save-dev compression-webpack-plugin 
 //(此处有坑) 如果打包报错,应该是版本问题 ,先卸载之前安装的此插件 ,然后安装低版本 
  npm install --save-dev compression-webpack-plugin@1.1.11
3.3 等安装好了,重新打包 npm run build ,此时打包的文件会 新增 .gz 文件。是不是比原来的js文件小很多呢,之后项目访问的文件就是这个.gz文件 。
3.4 后台nginx开启gzip模式访问,浏览器访问项目,自动会找到 .gz 的文件。加载速度明显提高。
http {  //在 http中配置如下代码,
  
   gzip on;
   gzip_disable "msie6"; 
   gzip_vary on; 
   gzip_proxied any;
   gzip_comp_level 8; #压缩级别
   gzip_buffers 16 8k;
   #gzip_http_version 1.1;
   gzip_min_length 100; #不压缩临界值
   gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
 }
3.5 修改build/webpack.prod.conf.js
if (config.build.productionGzip) {
  const CompressionWebpackPlugin = require('compression-webpack-plugin')

  webpackConfig.plugins.push(
    new CompressionWebpackPlugin({
      filename: '[path].gz[query]',
      algorithm: 'gzip',
      test: new RegExp(
        '\\.(' +
        config.build.productionGzipExtensions.join('|') +
        ')$'
      ),
      threshold: 10240,
      minRatio: 0.8
    })
  )
}

4、关闭debug和console

new UglifyJsPlugin({
      uglifyOptions: {
        compress: {
          warnings: false,
          // 以下两行配置,关闭 debug 和 console
          drop_debugger:true,
          drop_console:true
        }
      },
      sourceMap: config.build.productionSourceMap,
      parallel: true
    }),
上一篇下一篇

猜你喜欢

热点阅读