vue-cli2.0-打包优化

Posted NANA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-cli2.0-打包优化相关的知识,希望对你有一定的参考价值。

这三个可以大量缩短打包时间
效率很好
基本可以缩短不止一倍

一. HappyPack

缩短不止一倍

文件 webpack.base.conf.js


const HappyPack = require(\'happypack\')
const os = require(\'os\')
const happyThreadPool = HappyPack.ThreadPool({size: os.cpus().length})


 plugins: [
    
    new HappyPack({
      id: \'aaaaaaaaabbbbbbbccccc\',
      loaders: [{
        loader: \'babel-loader?cacheDirectory=true\'
      }],
      threadPool: happyThreadPool,
      verbose: true
    })
  ],
  module: {
   rule: [{
        test: /\\.js$/,
        loader: \'happypack/loader?id=aaaaaaaaabbbbbbbccccc\',
   }]
  }

二. autodll-webpack-plugin

git: https://github.com/asfktz/aut...

npm run build --report
可以看到每个文件打包占比图
可以将其中较大的第三方库配置到dll中
减小打包后的文件 速度也会快很多

文件 webpack.base.conf.js

plugins: [
    
    new htmlWebpackPlugin({
      inject: true,
      template: \'index.html\' // 模版文件
    }),
    new AutoDllPlugin({
      path: \'/static/js/\',  //自己配
      inject: true, // 与 html-webpack-plugin 结合使用,注入html中
      filename: \'[name].js\',
      entry: {
        vendor: [
          \'iview\',
          \'vue-echarts\',
          \'jquery\',
          \'vue\',
          \'codemirror\',
          \'lodash\',
          
        ]
      }
    })
  ],

三. webpack-parallel-uglify-plugin

文件 webpack.prod.conf.js

// good

new ParallelUglifyPlugin({
      cacheDir: \'.cache/\',
      uglifyJS:{
        output: {
          comments: false
        },
        compress: {
          warnings: false
        }
      }
    }),
    
替换 
 
// bad  
new webpack.optimize.UglifyJsPlugin({
      output: {
        comments: false,
      },     
      compress: {
        drop_console: true,
        pure_funcs: [\'console.log\'], 
        //移除console
        warnings: false
      },
      cache: true,
      parallel: true,
      sourceMap: true
    }),
    

四. 压缩图片
image-webpack-loader
可以缩小一丢丢

以上是关于vue-cli2.0-打包优化的主要内容,如果未能解决你的问题,请参考以下文章

基于vue-cli项目打包慢的定位优化过程

vue-cli项目打包结果优化

vue-cli3 打包优化

补充基于vue-cli创建的项目进行打包优化

vue-cli npm run build空白页的两个坑 webpack gzip文件压缩优化打包文件

vue-cli webpack2项目打包优化