In mijn package.json
heb ik deze twee scripts:
"scripts": {
"start-watch": "nodemon run-babel index.js",
"wp-server": "webpack-dev-server",
}
Ik moet deze 2 scripts parallel draaien elke keer als ik begin met ontwikkelen in Node.js. Het eerste waar ik aan dacht was om een derde script toe te voegen zoals dit:
"dev": "npm run start-watch && npm run wp-server"
... maar dat zal wachten tot start-watch
klaar is voordat wp-server
wordt uitgevoerd.
Hoe kan ik deze parallel laten lopen? Bedenk wel dat ik de output
van deze commando's moet kunnen zien. Ook, als uw oplossing een build tool bevat, zou ik liever gulp
gebruiken in plaats van grunt
omdat ik het al in een ander project gebruik.
Gebruik een pakket genaamd concurrently.
npm i concurrently --save-dev
Stel dan je npm run dev
taak zo in:
"dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""
Het Concurrently pakket werkt, maar je hebt het niet nodig om dit te bereiken. Je kunt gewoon een pipe gebruiken op UNIX gebaseerde machines om concurrent taken uit te voeren. Ik stel deze methode voor boven de andere, omdat het je bespaart van het toevoegen van een extra afhankelijkheid.
"dev": "npm run start-watch > /dev/null | npm run wp-server"
opmerking: de uitvoer van het eerste commando wordt genegeerd