我的webpack生产版本耗时超过70秒,但只使用一个CPU内核。
是否可以通过并行运行多个核心的webpack构建来加快速度? (比如,前,make -j4
?)
答案 0 :(得分:1)
查看A recent issue on Webpack Github
基本上,你可以为每个条目或最多为cpus的集合产生一个新工人,如下所示:
var _ = require('lodash');
var os = require('os');
var entries = [...]; // your entries go here
module.exports = _.chunk(entries, os.cpus().length).map(function(entry) {
return {
entry: entry,
... rest of your config ...
};
});
老实说,我发现这很难开始工作,但我有一个时髦的设置。谁没有?
答案 1 :(得分:0)
parallel-webpack允许您运行多个Webpack构建 并行处理,将工作分散到各个处理器上,从而有助于 大大加快了构建速度。
给出如下webpack.config.js:
var path = require('path');
module.exports = [{
entry: './pageA.js',
output: {
path: path.resolve(__dirname, './dist'),
filename: 'pageA.bundle.js'
}
}, {
entry: './pageB.js',
output: {
path: path.resolve(__dirname, './dist'),
filename: 'pageB.bundle.js'
}
}];
parallel-webpack将并行运行两个指定的版本。
您可以指定parallel(或简称p)选项,以告诉parallel-webpack可以使用多少个CPU。例如
parallel-webpack -p=2
除此之外,您还可以确保关闭统计信息。生成统计数据是繁重的工作。 您可以使用以下方法将其关闭:-
parallel-webpack --no-stats