I min pakke.json
har jeg disse to skriptene:
"scripts": {
"start-watch": "nodemon run-babel index.js",
"wp-server": "webpack-dev-server",
}
Jeg må kjøre disse 2 skriptene parallelt hver gang jeg begynner å utvikle i Node.js. Det første jeg tenkte på var å legge til et tredje skript som dette:
"dev": "npm run start-watch && npm run wp-server"
... men det vil vente til start-watch
er ferdig før du kjører wp-server
.
Hvordan kan jeg kjøre disse parallelt? Vær oppmerksom på at jeg trenger å se output
av disse kommandoene. Hvis løsningen din involverer et byggeverktøy, vil jeg heller bruke gulp
i stedet for grunt
fordi jeg allerede bruker det i et annet prosjekt.
Bruk en pakke som heter samtidig.
npm i concurrently --save-dev
.
Konfigurer deretter npm run dev
-oppgaven din slik:
"dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""
Bruk av Concurrently-pakken fungerer, men du trenger den ikke for å oppnå dette. Du kan bare bruke en pipe på UNIX-baserte maskiner som kjører samtidige oppgaver. Jeg vil foreslå denne metoden fremfor den andre fordi den sparer deg for å måtte legge til en ekstra avhengighet.
"dev": "npm run start-watch > /dev/null | npm run wp-server"
Merk: den første kommandoen vil ha sin utgang ignorert