javascript - webpack并行(并發(fā))打包問題
問題描述
一個循環(huán)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全執(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. 安全性測試 - nodejs中如何防m(xù)ySQL注入2. javascript - 關(guān)于apply()與call()的問題3. html - eclipse 標(biāo)簽錯誤4. python 利用subprocess庫調(diào)用mplayer時發(fā)生錯誤5. python - Pycharm的Debug用不了6. datetime - Python如何獲取當(dāng)前時間7. 請問PHPstudy中的數(shù)據(jù)庫如何創(chuàng)建索引8. python - pycharm 自動刪除行尾空格9. python文檔怎么查看?10. javascript - nginx反向代理靜態(tài)資源403錯誤?
