Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Webpack-Parallel-(gleichzeitiges)-Paketierungsproblem

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

扔个三星炸死你扔个三星炸死你2662 Tage vor728

Antworte allen(1)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:45:10

    nodejs执行是单线程,但是你的结果和你写的方式有关系。

    期待的效果是谁先build好谁先返回,而不是一起

    可以试试如下两种方案,其中第二种是可以做到真正的并行
    1:将循环中的每个webpack任务构建方式分别写到异步里面例如setTimeOut。
    2:开启多个node进程,每个进程上执行webpack构建

    Antwort
    0
  • StornierenAntwort