Τα σενάρια npm ομαδοποιούν ένα σύνολο εντολών τερματικού που μπορείτε να χρησιμοποιήσετε για να αυτοματοποιήσετε εργασίες σε ένα έργο JavaScript. Παρέχουν επίσης έναν συνεπή τρόπο εκτέλεσης εντολών σε διαφορετικά περιβάλλοντα.
Μπορείτε να ρυθμίσετε σενάρια npm σε ένα αρχείο package.json, να τα εκτελέσετε στη γραμμή εντολών και να χρησιμοποιήσετε ένα ευρύ σύνολο επιλογών για να διαμορφώσετε τη συμπεριφορά τους.
Ρύθμιση σεναρίων npm στο αρχείο package.json
Συνήθως ορίζετε σενάρια npm σε ένα αρχείο package.json, που βρίσκεται στη ρίζα του έργου JavaScript. Αυτό δεν είναι απαραίτητο, καθώς μπορείτε να εκτελέσετε σενάρια από άλλα αρχεία, αλλά το package.json διευκολύνει την πρόσβαση και τη διαχείριση των σεναρίων σας.
Σημειώστε ότι πρέπει να έχετε εγκατεστημένο το npm και το Node στο περιβάλλον ανάπτυξης σας για να το ακολουθήσετε. Ακολουθούν μερικά χρήσιμα άρθρα:
- Πως να εγκαταστήστε το Node.js και το npm στα Windows.
- Πως να εγκαταστήστε το Node.js και το npm στο Ubuntu.
Για να ρυθμίσετε ένα σενάριο npm στο package.json, ακολουθήστε τα παρακάτω βήματα:
- Πλοηγηθείτε στη ρίζα του έργου σας.
- Εκτελέστε το npm init στο τερματικό. Η εντολή θα σας κάνει κάποιες ερωτήσεις σχετικά με το έργο σας. Απαντήστε τους για να δημιουργήσετε ένα κατάλληλο αρχείο package.json.
npm init
- Στο αρχείο package.json, εντοπίστε το πεδίο σεναρίων. Εδώ, μπορείτε να προσθέσετε το όνομα ενός σεναρίου και την εντολή που πρέπει να εκτελείται ως ζεύγη κλειδιών/τιμών. Για παράδειγμα, το παρακάτω σενάριο, που ονομάζεται hello-world, εκτυπώνει το "Hello world" στο τερματικό όταν εκτελείται.
{
"σενάρια": {
"Γειά σου Κόσμε": "ηχώ \\"Γειά σου Κόσμε\\""
}
}
Ακολουθούν μερικά κοινά σενάρια για έργα JavaScript:
- αρχή: Αυτό το σενάριο ξεκινά τον διακομιστή ανάπτυξης. Για παράδειγμα, σε ένα έργο Node, μπορεί τρέξτε τον διακομιστή χρησιμοποιώντας nodemon.
- χτίζω: Δημιουργεί τον κώδικα παραγωγής για την εφαρμογή σας και μπορεί να χρησιμοποιήσει ένα εργαλείο όπως το webpack για να ελαχιστοποιήσει και να ομαδοποιήσει τον κώδικα.
- δοκιμή: Αυτό το σενάριο εκτελεί τις δοκιμές που ορίζονται στο έργο σας. Μπορεί να εκτελέσει ένα πλαίσιο δοκιμών όπως το Jest.
- στουπί: Ένα σενάριο lint εκτελεί ένα εργαλείο linting όπως το ESLint για να ελέγξει τον κώδικα για πιθανά σφάλματα.
- παρακολουθώ: Αυτό το σενάριο παρακολουθεί τον πηγαίο κώδικα για αλλαγές και, στη συνέχεια, εκτελεί μια εντολή. Είναι χρήσιμο για την επανεκτέλεση δοκιμών ή την εκ νέου κατασκευή της εφαρμογής κατά την αλλαγή κώδικα.
- αναπτύσσω: Εκτελεί μια εντολή που αναπτύσσει την εφαρμογή στο καθορισμένο περιβάλλον, όπως παραγωγή ή σταδιοποίηση.
Σενάρια πριν και μετά
Το npm υποστηρίζει σενάρια πριν και μετά. Τα προ-σενάρια εκτελούνται πριν από ένα συγκεκριμένο σενάριο ενώ τα σενάρια ανάρτησης εκτελούνται μετά. Μπορείτε να δημιουργήσετε σενάρια πριν και μετά για οποιοδήποτε σενάριο, απλώς προσθέστε πρόθεμα "pre" ή "post" στο όνομα του σεναρίου σας.
Για παράδειγμα, παρακάτω είναι τα σενάρια προ-δοκιμής και μετά τη δοκιμή που θα εκτελούνται πριν και μετά το σενάριο δοκιμής αντίστοιχα.
{
"σενάρια": {
"προδοκιμασία": "npm run lint",
"δοκιμή": "αστείο",
"μεταδοκιμασία": "npm run build"
}
}
Εκτέλεση σεναρίων npm από το package.json
Αφού προσθέσετε ένα σενάριο npm στο package.json, μπορείτε να το εκτελέσετε χρησιμοποιώντας την εντολή npmrun.
Εδώ είναι η σύνταξη:
npm τρέξιμο
Για παράδειγμα, για να εκτελέσετε το σενάριο έναρξης που ορίστηκε νωρίτερα, χρησιμοποιήστε:
npm έναρξη λειτουργίας
Μπορείτε να εκτελέσετε την εντολή npmrun μόνη της, για να λάβετε τη λίστα με όλα τα διαθέσιμα σενάρια σε ένα έργο. Ακολουθεί ένα παράδειγμα εξόδου:
Σενάρια διαθέσιμα σε [email protected] μέσω `npm run-script`:
Γειά σου Κόσμε
ηχώ "Γεια σου κόσμο"
Παραθέτει το όνομα του σεναρίου και την εντολή που εκτελεί.
Χρήση συντομογραφικών εντολών για την εκτέλεση ενσωματωμένων σεναρίων
Το npm υποστηρίζει πολλά ενσωματωμένα σενάρια που μπορείτε να εκτελέσετε χρησιμοποιώντας σύντομες εντολές. Για παράδειγμα, για να εκτελέσετε ένα σενάριο npm με το όνομα start, μπορείτε να χρησιμοποιήσετε npm start, αντί για npm run start.
Αυτό είναι πιο βολικό και πιο γρήγορο από την πληκτρολόγηση της πλήρους εντολής. Άλλα ενσωματωμένα σενάρια που μπορείτε να εκτελέσετε όπως αυτό είναι τα "test", "stop" και "restart".
Εκτέλεση πολλαπλών σεναρίων npm
Μπορείτε να εκτελέσετε πολλά σενάρια npm με δύο τρόπους:
- Διαδοχικά
- Παράλληλα
Εάν χρησιμοποιείτε Linux ή οποιοδήποτε άλλο σύστημα παρόμοιο με το Unix, μπορείτε να χρησιμοποιήσετε το πρότυπο μεθόδους εκτέλεσης πολλαπλών εντολών ταυτόχρονα.
Για να εκτελέσετε πολλά σενάρια npm διαδοχικά χρησιμοποιήστε το &&, για παράδειγμα:
npm έναρξη εκτέλεσης && npm δοκιμή
Για να εκτελέσετε πολλά σενάρια npm παράλληλα, χρησιμοποιήστε τα &, για παράδειγμα:
διακομιστής εκτέλεσης npm & πελάτης εκτέλεσης npm
Σε περιβάλλοντα που δεν ανήκουν στο UNIX, μπορείτε να χρησιμοποιήσετε την εντολή npm-run-all ή το πακέτο ταυτόχρονα npm.
Χρησιμοποιώντας το npm-run-all:
npm-run-all πελάτης παράλληλου διακομιστή
Ταυτόχρονη χρήση στο package.json.
"σενάρια": {
"dev": "ταυτόχρονα \\"npm εκτέλεση διακομιστή\\" \\"npm εκτέλεση πελάτη\\"",
}
Σημειώστε ότι πρέπει να εγκαταστήσετε τα πακέτα npm-run-all και Concurrently πριν τα χρησιμοποιήσετε.
Αντιμετώπιση προβλημάτων κοινών σφαλμάτων δέσμης ενεργειών Npm
Παρακάτω είναι μερικά κοινά σφάλματα που μπορεί να συναντήσετε κατά την εκτέλεση σεναρίων npm:
- npm λάθος! λείπει σενάριο — Αυτό το σφάλμα παρουσιάζεται όταν δεν έχετε ορίσει το σενάριο που προσπαθείτε να εκτελέσετε στο αρχείο package.json. Βεβαιωθείτε ότι γράφετε σωστά το όνομα του σεναρίου και ότι έχει οριστεί στο πεδίο σεναρίων του αρχείου package.json.
- Η άδεια απορρίφθηκε — Αυτό το σφάλμα παρουσιάζεται όταν δεν έχετε άδεια να εκτελέσετε ένα σενάριο, επομένως βεβαιωθείτε ότι έχετε τα σωστά δικαιώματα.
- Λείπουν εξαρτήσεις — Αυτό το σφάλμα παρουσιάζεται όταν το σενάριο χρησιμοποιεί ένα πακέτο που δεν είναι εγκατεστημένο. Χρησιμοποιήστε ένα εργαλείο όπως depcheck για να ελέγξετε για εξαρτήσεις που λείπουν από το package.json και, στη συνέχεια, εγκαταστήστε τις χρησιμοποιώντας npm install.
- Αγνωστη εντολή — Αυτό το σφάλμα παρουσιάζεται συνήθως όταν εκτελείτε μια προσαρμοσμένη δέσμη ενεργειών ως ενσωματωμένη εντολή npm. Βεβαιωθείτε ότι χρησιμοποιείτε npm τρέξιμο ή npm εκτέλεση-σενάριο κατά την εκτέλεση προσαρμοσμένων σεναρίων.
Χρήση μεταβλητών περιβάλλοντος σε σενάρια npm
Μεταβλητές περιβάλλοντος σας επιτρέπει να μεταβιβάζετε πληροφορίες χωρίς σκληρή κωδικοποίηση. Για να χρησιμοποιήσετε μεταβλητές περιβάλλοντος σε μια δέσμη ενεργειών npm, μπορείτε να χρησιμοποιήσετε το πακέτο cross-env npm. Αυτό το εργαλείο σάς βοηθά να ορίσετε μια περιβαλλοντική μεταβλητή σε οποιοδήποτε περιβάλλον.
Ξεκινήστε εκτελώντας αυτήν την εντολή στο τερματικό για να την εγκαταστήσετε ως εξάρτηση dev:
npm αποθηκεύω -D cross-env
Στη συνέχεια χρησιμοποιήστε το στο σενάριό σας ως εξής:
{
"σενάρια": {
"χτίζω": "cross-env NODE_ENV=παραγωγή webpack"
}
}
Εδώ, το cross-env ορίζει τη μεταβλητή NODE_ENV σε "production".
Μεταβίβαση επιχειρημάτων γραμμής εντολών σε σενάρια
Μπορείτε να μεταβιβάσετε ορίσματα γραμμής εντολών σε ένα σενάριο npm χρησιμοποιώντας δύο παύλες "--" μετά το όνομα του σεναρίου. Για παράδειγμα, η ακόλουθη εντολή εκτελεί το δοκιμαστικό σενάριο με το όρισμα παρακολούθησης:
npm εκτέλεση δοκιμής ρολόι
Μπορείτε επίσης να στείλετε ένα όρισμα γραμμής εντολών σε ένα σενάριο npm όπως αυτό:
npm εκτελέστε το my-port --PORT=3000
Στη συνέχεια, αποκτήστε πρόσβαση στο σενάριο ως εξής.
"σενάρια": {
"Το λιμάνι μου": "ηχώ \\"Θύρα: $npm_config_PORT\\""
}
Σε ένα σύστημα Windows, χρησιμοποιήστε αυτό:
"σενάρια": {
"Το λιμάνι μου": "ηχώ \\"Θύρα: %npm_config_PORT%\\""
}
Το σενάριο θα πρέπει να εκτυπώνει "Port: 3000" όταν το εκτελείτε.
Γιατί να χρησιμοποιήσετε σενάρια npm;
Μπορείτε να προσθέσετε σενάρια στο package.json, να τα εκτελέσετε στη γραμμή εντολών, να χρησιμοποιήσετε αγκίστρια πριν και μετά και να τους μεταβιβάσετε ορίσματα γραμμής και μεταβλητές περιβάλλοντος.
Τα σενάρια npm είναι ένας ισχυρός τρόπος αυτοματοποίησης εργασιών σε έργα JavaScript. Μπορούν να βελτιώσουν τη ροή εργασίας σας και να σας εξοικονομήσουν χρόνο παρέχοντάς σας σταθερές εντολές για την εκτέλεση πολλών εργασιών.