«

优化 Webpack

emer 发布于 2020-11-10 16:21   1667 次阅读     


1)优化 Webpack 的构建速度

2)使用webpack4-优化原因

①noParse

module.exports = { module: { noParse: /jquery/, rules:[] } }

②IgnorePlugin

③dillPlugin

④happypack -> thread-loader

⑤thread-loader
thread-loader 会将您的 loader 放置在一个 worker 池里面运行,以达到多线程构建。
把这个 loader 放置在其他 loader 之前(如下图 example 的位置), 放置在这个 loader 之后的 loader 就会在一个单独的 worker 池(worker pool)中运行。

// webpack.config.js module.exports = { module: { rules: [ { test: /\.js$/, include: path.resolve("src"), use: [ "thread-loader", // 你的高开销的loader放置在此 (e.g babel-loader) ] } ] } }

每个 worker 都是一个单独的有 600ms 限制的 node.js 进程。同时跨进程的数据交换也会被限制。请在高开销的loader中使用,否则效果不佳

⑥压缩加速——开启多线程压缩

module.exports = { optimization: { minimizer: [ new UglifyJsPlugin({ parallel: true, }), ], },};
module.exports = { optimization: { minimizer: [new TerserPlugin( parallel: true // 多线程 )], }, };

2)优化 Webpack 的打包体积

3)speed-measure-webpack-plugin
简称 SMP,分析出 Webpack 打包过程中 Loader 和 Plugin 的耗时,有助于找到构建过程中的性能瓶颈。