Maison  >  Questions et réponses  >  le corps du texte

javascript - problème d'empaquetage parallèle (simultané) du webpack

Un webpack en boucle regroupe un projet à différents endroits en même temps

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

Cela ne semble pas être parallèle dans le vrai sens du terme. Il faudra attendre que tous les webpacks soient entièrement exécutés avant de revenir ensemble

.

L'effet attendu est celui qui le construit en premier et le rend en premier, pas ensemble

Est-ce lié au thread unique de nodejs ?


Plus tard, j'ai utilisé la bibliothèque parallèle-webpack, modifié le code source et imprimé l'heure de retour de chaque promesse. Les résultats étaient similaires, aidez

.
扔个三星炸死你扔个三星炸死你2662 Il y a quelques jours731

répondre à tous(1)je répondrai

  • 曾经蜡笔没有小新

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

    L'exécution de Nodejs est monothread, mais vos résultats sont liés à la façon dont vous l'écrivez.

    L'effet attendu est de savoir qui le construit en premier et le restitue en premier, pas ensemble

    Vous pouvez essayer les deux solutions suivantes, dont la seconde peut atteindre un véritable parallélisme
    1 : Écrivez chaque méthode de construction de tâche Webpack dans la boucle de manière asynchrone, comme setTimeOut.
    2 : Démarrez plusieurs processus de nœuds et exécutez la construction du webpack sur chaque processus

    répondre
    0
  • Annulerrépondre