为了账号安全,请及时绑定邮箱和手机立即绑定

webpack并行(并发)打包问题

webpack并行(并发)打包问题

慕雪6442864 2018-11-16 18:22:47
一个循环webpack同时打包一个项目到不同的位置上let num(new Array(num)),map((v, k) = {  let start = +new Date()  webpack(webpackConfig, () => {    console.log(`time:${+new Date() - start} ms)  })})num = 1time:5232msnum = 2time:9212ms time:9332ms...num = 30time:40212ms time:40342ms ... time: 4xxxxms看起来并不是真正意义上的并行,会等所有webpack全执行完才一起返回期待的效果是谁先build好谁先返回,而不是一起这跟nodejs的单线程有关系?后来使用了paraller-webpack这个库,修改源码,打印每一个promise的then返回时间,结果类似,help
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

nodejs执行是单线程,但是你的结果和你写的方式有关系。

期待的效果是谁先build好谁先返回,而不是一起

可以试试如下两种方案,其中第二种是可以做到真正的并行
1:将循环中的每个webpack任务构建方式分别写到异步里面例如setTimeOut。
2:开启多个node进程,每个进程上执行webpack构建


查看完整回答
反对 回复 2018-12-28
  • 1 回答
  • 0 关注
  • 658 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信