这三个能够大量缩短打包工夫
效率很好
根本能够缩短不止一倍

一. 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

// goodnew 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    }),