Scripturile npm includ un set de comenzi terminale pe care le puteți utiliza pentru a automatiza sarcinile într-un proiect JavaScript. Ele oferă, de asemenea, o modalitate consistentă de a rula comenzi în diferite medii.
Puteți configura scripturi npm într-un fișier package.json, le puteți rula pe linia de comandă și puteți utiliza un set larg de opțiuni pentru a le configura comportamentul.
Configurarea scripturilor npm în fișierul package.json
De obicei, definiți scripturi npm într-un fișier package.json, situat la rădăcina proiectului dvs. JavaScript. Acest lucru nu este obligatoriu, deoarece puteți executa scripturi din alte fișiere, dar package.json facilitează accesul și gestionarea scripturilor.
Rețineți că trebuie să aveți instalate npm și Node în mediul dvs. de dezvoltare pentru a urma. Iată câteva articole utile:
- Cum să instalați Node.js și npm pe Windows.
- Cum să instalați Node.js și npm pe Ubuntu.
Pentru a configura un script npm în package.json, urmați pașii de mai jos:
- Navigați la rădăcina proiectului dvs.
- Rulați npm init pe terminal. Comanda vă va pune câteva întrebări despre proiectul dvs. Răspundeți-le pentru a crea un fișier package.json corespunzător.
npm init
- În fișierul package.json, localizați câmpul de scripturi. Aici, puteți adăuga numele unui script și comanda pe care ar trebui să o ruleze ca perechi cheie/valoare. De exemplu, scriptul de mai jos, numit hello-world, afișează „Hello world” în terminal când este rulat.
{
"scripte": {
"Salut Lume": "ecou \\"Salut Lume\\""
}
}
Iată câteva scripturi comune pentru proiecte JavaScript:
- start: Acest script pornește serverul de dezvoltare. De exemplu, într-un proiect Node, se poate rulați serverul folosind nodemon.
- construi: generează codul de producție pentru aplicația dvs. și poate utiliza un instrument precum webpack pentru a reduce și a grupa codul.
- Test: Acest script rulează testele definite în proiectul dumneavoastră. Poate rula un cadru de testare precum Jest.
- puf: Un script lint rulează un instrument de listing, cum ar fi ESLint, pentru a verifica codul pentru eventuale erori.
- ceas: Acest script urmărește codul sursă pentru modificări și apoi rulează o comandă. Este util pentru a rula din nou teste sau pentru a reconstrui aplicația la modificarea codului.
- disloca: rulează o comandă care implementează aplicația în mediul specificat, cum ar fi producția sau punerea în scenă.
Scripturi pre și post
npm acceptă scripturi pre și post. Scripturile prealabile rulează înaintea unui anumit script, în timp ce scripturile post rulează ulterior. Puteți crea scripturi pre și post pentru orice script, doar prefixul „pre” sau „post” la numele scriptului.
De exemplu, mai jos sunt scripturi de pretest și posttest care vor rula înainte și, respectiv, după scriptul de testare.
{
"scripte": {
"pretest": "npm run lint",
"Test": "glumă",
"posttest": "npm run build"
}
}
Rularea scripturilor npm din package.json
După ce ați adăugat un script npm la package.json, îl puteți rula folosind comanda npmrun.
Iată sintaxa:
rulare npm
De exemplu, pentru a rula scriptul de pornire definit mai devreme, utilizați:
npm run start
Puteți executa comanda npmrun pe cont propriu, pentru a obține lista tuturor scripturilor disponibile dintr-un proiect. Iată câteva exemple de rezultate:
Scripturi disponibile în [email protected] prin „npm run-script”:
Salut Lume
ecou „Salut lume”
Listează numele scriptului și comanda pe care o rulează.
Utilizarea comenzilor scurte pentru a rula scripturi încorporate
npm acceptă mai multe scripturi încorporate pe care le puteți rula folosind comenzi scurte. De exemplu, pentru a rula un script npm numit start, puteți utiliza npm start, în loc de npm run start.
Acest lucru este mai convenabil și mai rapid decât introducerea comenzii complete. Alte scripturi încorporate pe care le puteți rula astfel includ „testare”, „oprire” și „repornire”.
Rularea mai multor scripturi npm
Puteți rula mai multe scripturi npm în două moduri:
- Secvenţial
- În paralel
Dacă utilizați Linux sau orice alt sistem asemănător Unix, puteți utiliza standardul metode de a rula mai multe comenzi simultan.
Pentru a rula mai multe scripturi npm secvenţial, utilizaţi &&, de exemplu:
npm run start && test npm
Pentru a rula mai multe scripturi npm în paralel, utilizați &, de exemplu:
npm run server și npm run client
În mediile non-UNIX, puteți utiliza comanda npm-run-all sau pachetul npm concomitent.
Folosind npm-run-all:
npm-run-all --parallel server client
Folosind concomitent în package.json.
"scripte": {
"dev": "concomitent \\"server de rulare npm\\" \\"client rulare npm\\"",
}
Rețineți că trebuie să instalați pachetele npm-run-all și Concurrently înainte de a le folosi.
Depanarea erorilor comune de script Npm
Mai jos sunt câteva erori frecvente pe care le puteți întâlni când rulați scripturi npm:
- npm greșit! script lipsă — Această eroare apare atunci când nu ați definit scriptul pe care încercați să îl rulați în fișierul package.json. Asigurați-vă că scrieți corect numele scriptului și că este definit în câmpul de scripturi al fișierului package.json.
- Acces refuzat — Această eroare apare atunci când nu aveți permisiunea de a rula un script, așa că asigurați-vă că aveți permisiunile potrivite.
- Lipsesc dependențe — Această eroare apare atunci când scriptul folosește un pachet care nu este instalat. Folosește un instrument ca depcheck pentru a verifica dependențele care lipsesc din package.json, apoi instalați-le folosind npm install.
- Comanda necunoscuta — Această eroare apare de obicei atunci când rulați un script personalizat ca o comandă npm încorporată. Asigurați-vă că utilizați rulare npm sau npm run-script când rulați scripturi personalizate.
Utilizarea variabilelor de mediu în scripturile npm
Variabile de mediu vă permit să transmiteți informații fără a le codifica. Pentru a utiliza variabilele de mediu într-un script npm, puteți utiliza pachet cross-env npm. Acest instrument vă ajută să setați o variabilă de mediu în orice mediu.
Începeți prin a rula această comandă pe terminal pentru a o instala ca dependență de dezvoltare:
npm salvez -D cross-env
Apoi folosește-l în scriptul tău astfel:
{
"scripte": {
"construi": „cross-env NODE_ENV=pachet web de producție”
}
}
Aici, cross-env setează variabila NODE_ENV la „producție”.
Transmiterea argumentelor din linia de comandă către scripturi
Puteți transmite argumente de linie de comandă unui script npm folosind două liniuțe „--” după numele scriptului. De exemplu, următoarea comandă rulează scriptul de testare cu argumentul watch:
test de rulare npm -- --watch
De asemenea, puteți trimite un argument de linie de comandă unui script npm ca acesta:
npm rulează portul meu --PORT=3000
Apoi accesați-l în script, după cum urmează.
"scripte": {
"portul meu": "ecou \\"Port: $npm_config_PORT\\""
}
Pe un sistem Windows, utilizați aceasta:
"scripte": {
"portul meu": "ecou \\"Port: %npm_config_PORT%\\""
}
Scriptul ar trebui să afișeze „Port: 3000” când îl rulați.
De ce să folosiți scripturi npm?
Puteți adăuga scripturi la package.json, le puteți rula pe linia de comandă, puteți utiliza cârlige pre și post și le puteți transmite argumente de linie și variabile de mediu.
Scripturile npm sunt o modalitate puternică de automatizare a sarcinilor în proiecte JavaScript. Acestea vă pot îmbunătăți fluxul de lucru și vă pot economisi timp, oferindu-vă comenzi consistente pentru a rula mai multe sarcini.