文章详情页
javascript - webpack并行(并发)打包问题
浏览:131日期:2023-03-30 11:35:25
问题描述
一个循环webpack同时打包一个项目到不同的位置上let num(new Array(num)),map((v, k) = { let start = +new Date() webpack(webpackConfig, () => { console.log(`time:${+new Date() - start} ms) })})
num = 1
time:5232ms
num = 2
time:9212mstime:9332ms
...
num = 30
time:40212mstime:40342ms...time: 4xxxxms看起来并不是真正意义上的并行,会等所有webpack全执行完才一起返回期待的效果是谁先build好谁先返回,而不是一起这跟nodejs的单线程有关系?后来使用了paraller-webpack这个库,修改源码,打印每一个promise的then返回时间,结果类似,help
问题解答
回答1:nodejs执行是单线程,但是你的结果和你写的方式有关系。
期待的效果是谁先build好谁先返回,而不是一起
可以试试如下两种方案,其中第二种是可以做到真正的并行1:将循环中的每个webpack任务构建方式分别写到异步里面例如setTimeOut。2:开启多个node进程,每个进程上执行webpack构建
标签:
JavaScript
相关文章:
1. javascript - 如图,百度首页,查看源代码为什么什么都没有?2. android - weex 项目createInstanceReferenceError: Vue is not defined3. 网页爬虫 - python requests爬虫,如何post payload4. javascript - 原生APP内嵌H5页面分享到微信朋友圈,二次分享问题。5. javascript - 为什么clearInterVal不起作用呢?6. html - 关于CSS实现border的0.5px设置?7. PHPExcel表格导入数据库怎么导入8. android - 哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点9. pdo 写入到数据库的内容为中文的时候写入乱码10. PHP类封装的插入数据,总是插入不成功,返回false;
排行榜
