Ein Loop-Webpack packt ein Projekt gleichzeitig an verschiedene Orte
let num
(new Array(num)),map((v, k) = {
let start = +new Date()
webpack(webpackConfig, () => {
console.log(`time:${+new Date() - start} ms)
})
})
time:5232ms
time:9212ms
time:9332ms
time:40212ms
time:40342ms
...
time: 4xxxxms
Es scheint nicht im eigentlichen Sinne parallel zu sein. Es wird gewartet, bis alle Webpacks vollständig ausgeführt sind, bevor es zusammen zurückkehrt
Der erwartete Effekt ist, wer es zuerst baut und zuerst zurückgibt, nicht zusammen
Hängt das mit dem einzelnen Thread von nodejs zusammen?
Später habe ich die Parallel-Webpack-Bibliothek verwendet, den Quellcode geändert und die Rückgabezeit jedes Versprechens ausgedruckt. Die Ergebnisse waren ähnlich, Hilfe
nodejs执行是单线程,但是你的结果和你写的方式有关系。
可以试试如下两种方案,其中第二种是可以做到真正的并行
1:将循环中的每个webpack任务构建方式分别写到异步里面例如setTimeOut。
2:开启多个node进程,每个进程上执行webpack构建