Στο package.json
μου έχω αυτά τα δύο σενάρια:
"scripts": {
"start-watch": "nodemon run-babel index.js",
"wp-server": "webpack-dev-server",
}
Πρέπει να τρέχω αυτά τα 2 σενάρια παράλληλα κάθε φορά που ξεκινάω την ανάπτυξη στο Node.js. Το πρώτο πράγμα που σκέφτηκα ήταν να προσθέσω ένα τρίτο σενάριο όπως αυτό:
"dev": "npm run start-watch && npm run wp-server"
... αλλά αυτό θα περιμένει να τελειώσει το start-watch
πριν τρέξει το wp-server
.
Πώς μπορώ να τα τρέξω αυτά παράλληλα; Λάβετε υπόψη σας ότι πρέπει να βλέπω την "έξοδο" αυτών των εντολών. Επίσης, αν η λύση σας περιλαμβάνει ένα εργαλείο κατασκευής, θα προτιμούσα να χρησιμοποιήσω το gulp
αντί του grunt
επειδή το χρησιμοποιώ ήδη σε ένα άλλο έργο.
Χρησιμοποιήστε ένα πακέτο που ονομάζεται concurrently.
npm i concurrently --save-dev
Στη συνέχεια, ρυθμίστε την εργασία npm run dev
ως εξής:
"dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""
Η χρήση του πακέτου Concurrently λειτουργεί, αλλά δεν το χρειάζεστε για να το πετύχετε αυτό. Μπορείτε απλώς να χρησιμοποιήσετε ένα σωλήνα σε μηχανήματα που βασίζονται στο UNIX για την εκτέλεση ταυτόχρονων εργασιών. Θα πρότεινα αυτή τη μέθοδο έναντι της άλλης επειδή σας γλιτώνει από την προσθήκη μιας επιπλέον εξάρτησης.
"dev": "npm run start-watch > /dev/null | npm run wp-server"
Σημείωση: η έξοδος της πρώτης εντολής θα αγνοηθεί