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進程,每個進程上執(zhí)行webpack構(gòu)建
相關(guān)文章:
1. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)2. java - Oracle如何獲取去重結(jié)果集中某一條數(shù)據(jù)的下一條數(shù)據(jù)3. python - pyspider的分布式運行成功,2臺slave跑,但是時間并沒有縮短問題?4. ubuntu - elasticsearch-h(huán)ead插件安裝后,啟動問題!5. npm install -g browser-sync這個之后出錯 還有人嗎 我都感覺沒人回答問題了6. python - 數(shù)據(jù)無法插入到mysql表里7. javascript - 小程序跳轉(zhuǎn)失敗?8. mysql scripts提示 /usr/bin/perl: bad interpreter9. javascript - ie11以下單擊打開不了file,雙擊可以。求解?10. Phpstorm搭配Sqlsever2008實現(xiàn)PDO連接報錯
