美文网首页
Vue打包优化

Vue打包优化

作者: O槑頭槑腦 | 来源:发表于2019-03-06 10:52 被阅读0次

1、路由懒加载

  • 当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。
    所以在router文件夹下 index.js 做如下配置
{ 
  path: '/fourKey',
  meta: {
    requireAuth: true // 配置此条,进入页面前判断是否需要登陆
  },
        component:resolve => require(['@/views/auth/fourKey'],resolve)
}

2、不生成.map 文件

  • webpack默认会生成map文件,map文件是用来调试代码的。此外,这里还要注意sourcemap的配置分 开发(dev)和线上(build)两个地方配置,开发我们就不管了,就用默认的,线上我们是不需要这个代码的。

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 的文件。加载速度明显提高。
  • 开启 nginx gzip ,在 nginx.conf 配置文件中 配置
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;
 }
  • 保存退出 ,并 重启 nginx
3.5 修改build/webpack.prod.conf.js
  • asset这个选项是无效的,要改成filename。
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

  • 打开webpack.prod.conf.js 添加 drop_debugger 和 drop_console
new UglifyJsPlugin({
      uglifyOptions: {
        compress: {
          warnings: false,
          // 以下两行配置,关闭 debug 和 console
          drop_debugger:true,
          drop_console:true
        }
      },
      sourceMap: config.build.productionSourceMap,
      parallel: true
    }),

相关文章

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • 2019-05-10

    vue 组件按需引用,vue-router懒加载,vue打包优化,加载动画 当打包构建应用时,Javascript...

  • Vue 网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • 博客网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • vue打包优化

    网站首页第一次加载很慢,优化过后从十多二十秒缩短到了几秒,主要是打包的时候按需加载了,然后使用了gzip压缩。 这...

  • Vue打包优化

    未优化前 优化步骤 1.按需加载 ​修改前 修改后 如果你用的组件较多的话,这个步骤会比较繁琐 优化后的文件 ve...

  • vue打包优化

    在初次vue打包之后,文件非常大,所以采取了几种方法优化打包,打包后文件大小确实是显著下降了,如果还有不完善的地方...

  • vue打包优化

    vue打包优化 首屏加载慢也是网络慢资源也比较大如下图,加载完需要15s......崩了...image 配置到了...

  • Vue打包优化

    1、路由懒加载 当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组...

  • 打包优化去掉console.log,webpack.js配置排除

    一、打包优化去掉console.log 在vue.config中,配置: chainWebpack(config)...

网友评论

      本文标题:Vue打包优化

      本文链接:https://www.haomeiwen.com/subject/ecftpqtx.html