javascript - webpack并行(并發(fā))打包問題
問題描述
一個循環(huán)webpack同時打包一個項(xiàng)目到不同的位置上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全執(zhí)行完才一起返回期待的效果是誰先build好誰先返回,而不是一起這跟nodejs的單線程有關(guān)系?后來使用了paraller-webpack這個庫,修改源碼,打印每一個promise的then返回時間,結(jié)果類似,help
問題解答
回答1:nodejs執(zhí)行是單線程,但是你的結(jié)果和你寫的方式有關(guān)系。
期待的效果是誰先build好誰先返回,而不是一起
可以試試如下兩種方案,其中第二種是可以做到真正的并行1:將循環(huán)中的每個webpack任務(wù)構(gòu)建方式分別寫到異步里面例如setTimeOut。2:開啟多個node進(jìn)程,每個進(jìn)程上執(zhí)行webpack構(gòu)建
相關(guān)文章:
1. golang - 用IDE看docker源碼時的小問題2. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?3. html - css氣泡,實(shí)現(xiàn)“倒三角(不知道算不算三角了)”可透明的。4. 前端 - @media query 使用出現(xiàn)的問題?5. phpstudy8.1沒集成mysql-front6. 運(yùn)行python程序時出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯誤?7. docker - 如何修改運(yùn)行中容器的配置8. html5和Flash對抗是什么情況?9. 我何時應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)10. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯!

網(wǎng)公網(wǎng)安備