skripti npm združujejo niz terminalskih ukazov, ki jih lahko uporabite za avtomatizacijo opravil v projektu JavaScript. Zagotavljajo tudi dosleden način izvajanja ukazov v različnih okoljih.
Skripte npm lahko nastavite v datoteki package.json, jih zaženete v ukazni vrstici in uporabite širok nabor možnosti za konfiguracijo njihovega delovanja.
Nastavitev skriptov npm v datoteki package.json
Skripte npm običajno definirate v datoteki package.json, ki se nahaja v korenu vašega projekta JavaScript. To ni nujno, saj lahko izvajate skripte iz drugih datotek, vendar pa package.json olajša dostop in upravljanje vaših skriptov.
Upoštevajte, da morate imeti v svojem razvojnem okolju nameščena npm in Node, če želite slediti. Tukaj je nekaj koristnih člankov:
- Kako namestite Node.js in npm v sistem Windows.
- Kako namestite Node.js in npm na Ubuntu.
Če želite nastaviti skript npm v package.json, sledite spodnjim korakom:
- Pomaknite se do korena svojega projekta.
- Zaženite npm init na terminalu. Ukaz vam bo postavil nekaj vprašanj o vašem projektu. Odgovorite jim, da ustvarite ustrezno datoteko package.json.
npm init
- V datoteki package.json poiščite polje s skripti. Tukaj lahko dodate ime skripta in ukaz, ki naj se izvaja kot par ključ/vrednost. Na primer, spodnji skript, imenovan hello-world, natisne »Hello world« v terminalu, ko se zažene.
{
"skripte": {
"Pozdravljen, svet": "odmev \\"Pozdravljen, svet\\""
}
}
Tukaj je nekaj običajnih skriptov za projekte JavaScript:
- začetek: Ta skript zažene razvojni strežnik. Na primer, v projektu Node lahko zaženite strežnik z uporabo nodemona.
- graditi: ustvari produkcijsko kodo za vašo aplikacijo in lahko uporabi orodje, kot je webpack, za zmanjšanje in združevanje kode.
- test: Ta skript izvaja teste, definirane v vašem projektu. Lahko izvaja testni okvir, kot je Jest.
- vlakna: Skript lint zažene orodje za lintiranje, kot je ESLint, da preveri kodo za morebitne napake.
- gledati: Ta skript spremlja izvorno kodo za spremembe in nato zažene ukaz. Uporaben je za ponovno izvajanje testov ali ponovno gradnjo aplikacije ob spremembi kode.
- razmestiti: Zažene ukaz, ki razmesti aplikacijo v podano okolje, kot je proizvodnja ali uprizarjanje.
Pred in po skripti
npm podpira skripte pred in po njih. Pred skripti se izvajajo pred določenim skriptom, medtem ko se post skripti izvajajo za njim. Ustvarite lahko pred in post skripte za kateri koli skript, samo predpono "pre" ali "post" imenu skripta.
Spodaj sta na primer predtestna in posttestna skripta, ki se bosta izvajala pred in po preskusnem skriptu.
{
"skripte": {
"predtest": "npm run lint",
"test": "šala",
"posttest": "npm run build"
}
}
Izvajanje skriptov npm iz package.json
Ko dodate skript npm v package.json, ga lahko zaženete z ukazom npmrun.
Tukaj je sintaksa:
npm teči
Če želite na primer zagnati prej definiran začetni skript, uporabite:
npm zagon zagon
Ukaz npmrun lahko izvedete sam, da dobite seznam vseh razpoložljivih skriptov v projektu. Tukaj je nekaj primerov izhoda:
Skripti, ki so na voljo v [email protected] prek `npm run-script`:
Pozdravljen, svet
echo "Pozdravljen svet"
Navaja ime skripta in ukaz, ki ga izvaja.
Uporaba skrajšanih ukazov za zagon vgrajenih skriptov
npm podpira več vgrajenih skriptov, ki jih lahko izvajate s skrajšanimi ukazi. Če želite na primer zagnati skript npm z imenom start, lahko uporabite npm start namesto npm run start.
To je bolj priročno in hitreje kot vnos celotnega ukaza. Drugi vgrajeni skripti, ki jih lahko zaženete na ta način, vključujejo "test", "stop" in "ponovni zagon".
Izvajanje več skriptov npm
Več skriptov npm lahko izvajate na dva načina:
- Zaporedoma
- Vzporedno
Če uporabljate Linux ali kateri koli drug sistem, podoben Unixu, lahko uporabite standard metode izvajanja več ukazov hkrati.
Za zaporedno izvajanje več skriptov npm uporabite &&, na primer:
npm zaženi zagon && preizkus npm
Za vzporedno izvajanje več skriptov npm uporabite &, na primer:
strežnik npm run in odjemalec npm run
V okoljih, ki niso UNIX, lahko uporabite ukaz npm-run-all ali hkrati paket npm.
Uporaba npm-run-all:
npm-run-all --parallel server client
Sočasna uporaba v package.json.
"skripte": {
"dev": "hkrati \\"strežnik za zagon npm\\" \\"npm run client\\"",
}
Upoštevajte, da morate pred uporabo namestiti paketa npm-run-all in Concurrently.
Odpravljanje pogostih napak skripta Npm
Spodaj je nekaj pogostih napak, na katere lahko naletite pri izvajanju skriptov npm:
- npm napaka! manjka skripta — Ta napaka se pojavi, ko v datoteki package.json niste definirali skripta, ki ga želite zagnati. Prepričajte se, da pravilno črkujete ime skripta in da je definirano v polju za skripte datoteke package.json.
- Dovoljenje zavrnjeno — Ta napaka se pojavi, ko nimate dovoljenja za zagon skripta, zato poskrbite, da imate ustrezna dovoljenja.
- Manjkajoče odvisnosti — Ta napaka se pojavi, ko skript uporablja paket, ki ni nameščen. Uporabite orodje, kot je depcheck da preverite odvisnosti, ki manjkajo v package.json, nato pa jih namestite z uporabo npm install.
- Neznan ukaz — Ta napaka se običajno pojavi, ko zaženete skript po meri kot vgrajeni ukaz npm. Prepričajte se, da uporabljate npm teči oz zagonski skript npm pri izvajanju skriptov po meri.
Uporaba spremenljivk okolja v skriptih npm
Spremenljivke okolja omogočajo posredovanje informacij brez trdega kodiranja. Če želite uporabiti spremenljivke okolja v skriptu npm, lahko uporabite navzkrižni paket npm. To orodje vam pomaga nastaviti okoljsko spremenljivko v katerem koli okolju.
Začnite z izvajanjem tega ukaza na terminalu, da ga namestite kot odvisnost razvijalca:
npm shranim -D cross-env
Nato ga uporabite v svojem skriptu takole:
{
"skripte": {
"zgraditi": "cross-env NODE_ENV=produkcijski spletni paket"
}
}
Tukaj cross-env nastavi spremenljivko NODE_ENV na "production".
Posredovanje argumentov ukazne vrstice skriptom
Argumente ukazne vrstice lahko posredujete skriptu npm z uporabo dveh pomišljajev »--« za imenom skripta. Naslednji ukaz na primer zažene testni skript z argumentom watch:
npm zaženi test -- --pazi
Argument ukazne vrstice lahko pošljete tudi skriptu npm, kot je ta:
npm zaženi moja vrata --PORT=3000
Nato dostopajte do njega v skriptu, kot sledi.
"skripte": {
"moje-pristanišče": "odmev \\"Vrata: $npm_config_PORT\\""
}
V sistemu Windows uporabite to:
"skripte": {
"moje-pristanišče": "odmev \\"Vrata: %npm_config_PORT%\\""
}
Skript bi moral natisniti "Port: 3000", ko ga zaženete.
Zakaj uporabljati skripte npm?
V package.json lahko dodate skripte, jih zaženete v ukazni vrstici, uporabite pred in post kljuke ter jim posredujete argumente vrstice in spremenljivke okolja.
Skripti npm so zmogljiv način avtomatizacije opravil v projektih JavaScript. Izboljšajo lahko vaš potek dela in vam prihranijo čas, tako da vam zagotovijo dosledne ukaze za izvajanje več nalog.