Skripty npm obsahujú sadu terminálových príkazov, ktoré môžete použiť na automatizáciu úloh v projekte JavaScript. Poskytujú tiež konzistentný spôsob spúšťania príkazov v rôznych prostrediach.
Skripty npm môžete nastaviť v súbore package.json, spustiť ich v príkazovom riadku a použiť širokú škálu možností na konfiguráciu ich správania.
Nastavenie skriptov npm v súbore package.json
Skripty npm zvyčajne definujete v súbore package.json, ktorý sa nachádza v koreňovom adresári vášho projektu JavaScript. Nie je to nevyhnutné, pretože môžete spúšťať skripty z iných súborov, ale súbor package.json uľahčuje prístup k vašim skriptom a ich správu.
Všimnite si, že ak chcete pokračovať, musíte mať vo svojom vývojovom prostredí nainštalované npm a Node. Tu je niekoľko užitočných článkov:
- Ako nainštalujte Node.js a npm na Windows.
- Ako nainštalujte Node.js a npm na Ubuntu.
Ak chcete nastaviť skript npm v súbore package.json, postupujte podľa nasledujúcich krokov:
- Prejdite do koreňového adresára vášho projektu.
- Spustite npm init na termináli. Príkaz vám položí niekoľko otázok o vašom projekte. Odpovedzte na ne a vytvorte vhodný súbor package.json.
npm init
- V súbore package.json nájdite pole scripts. Tu môžete pridať názov skriptu a príkaz, ktorý má spustiť, ako páry kľúč/hodnota. Napríklad nižšie uvedený skript s názvom hello-world vypíše v termináli pri spustení „Hello world“.
{
"skriptá": {
"ahoj svet": "echo \\"Ahoj svet\\""
}
}
Tu je niekoľko bežných skriptov pre projekty JavaScript:
- začať: Tento skript spúšťa vývojový server. Napríklad v projekte Node môže spustiť server pomocou nodemonu.
- stavať: Vygeneruje produkčný kód pre vašu aplikáciu a môže použiť nástroj, ako je webpack, na minimalizáciu a spojenie kódu.
- test: Tento skript spúšťa testy definované vo vašom projekte. Môže spustiť testovací rámec ako Jest.
- vlákna: Skript lint spúšťa nástroj na lintovanie, ako napríklad ESLint, aby skontroloval, či kód neobsahuje potenciálne chyby.
- sledovať: Tento skript sleduje zmeny zdrojového kódu a potom spustí príkaz. Je to užitočné pri opätovnom spustení testov alebo pri prestavbe aplikácie pri zmene kódu.
- nasadiť: Spustí príkaz, ktorý nasadí aplikáciu do určeného prostredia, ako je produkcia alebo príprava.
Pre a Post skripty
npm podporuje pre a post skripty. Predbežné skripty sa spúšťajú pred konkrétnym skriptom, zatiaľ čo dodatočné skripty sa spúšťajú po ňom. Môžete vytvoriť predbežné a následné skripty pre akýkoľvek skript, stačí pred názov skriptu pridať predponu „pre“ alebo „post“.
Nižšie sú napríklad skripty pre test a posttest, ktoré sa spustia pred a po testovacom skripte.
{
"skriptá": {
"predtest": "npm run lint",
"test": "žart",
"posttest": "npm run build"
}
}
Spustenie skriptov npm z package.json
Po pridaní skriptu npm do súboru package.json ho môžete spustiť pomocou príkazu npmrun.
Tu je syntax:
npm beh
Ak chcete napríklad spustiť spúšťací skript definovaný skôr, použite:
spustenie chodu npm
Príkaz npmrun môžete spustiť samostatne a získať tak zoznam všetkých dostupných skriptov v projekte. Tu je niekoľko príkladov výstupu:
Skripty dostupné v [email protected] cez `npm run-script`:
ahoj-svet
echo "Ahoj svet"
Uvádza názov skriptu a príkaz, ktorý spúšťa.
Používanie skratkových príkazov na spustenie vstavaných skriptov
npm podporuje niekoľko vstavaných skriptov, ktoré môžete spustiť pomocou skratkových príkazov. Ak chcete napríklad spustiť skript npm s názvom start, môžete použiť npm start namiesto npm run start.
Je to pohodlnejšie a rýchlejšie ako písanie celého príkazu. Ďalšie vstavané skripty, ktoré môžete takto spustiť, zahŕňajú „test“, „stop“ a „reštart“.
Spustenie viacerých skriptov npm
Viaceré skripty npm môžete spustiť dvoma spôsobmi:
- Postupne
- Paralelne
Ak používate Linux alebo akýkoľvek iný systém podobný Unixu, môžete použiť štandard metódy spustenia viacerých príkazov naraz.
Na spustenie viacerých skriptov npm postupne použite &&, napríklad:
spustenie npm && test npm
Na spustenie viacerých skriptov npm paralelne použite &, napríklad:
npm spustiť server a npm spustiť klienta
V prostrediach iných ako UNIX môžete použiť príkaz npm-run-all alebo súbežne balík npm.
Použitie npm-run-all:
npm-run-all --paralelný serverový klient
Používa sa súčasne v súbore package.json.
"skriptá": {
"dev": "súčasne \\"npm spustiť server\\" \\"npm spustiť klienta\\"",
}
Upozorňujeme, že pred použitím balíkov npm-run-all a Concurrently musíte nainštalovať.
Riešenie bežných chýb skriptu Npm
Nižšie sú uvedené niektoré bežné chyby, s ktorými sa môžete stretnúť pri spúšťaní skriptov npm:
- npm chyba! chýba skript — Táto chyba sa vyskytuje, keď ste nedefinovali skript, ktorý sa pokúšate spustiť v súbore package.json. Uistite sa, že názov skriptu píšete správne a že je definovaný v poli skriptov v súbore package.json.
- Prístup zamietnutý — Táto chyba sa vyskytuje, keď nemáte povolenie na spustenie skriptu, takže sa uistite, že máte správne povolenia.
- Chýbajúce závislosti — Táto chyba sa vyskytuje, keď skript používa balík, ktorý nie je nainštalovaný. Použite nástroj ako depcheck skontrolujte, či v súbore package.json chýbajú závislosti, potom ich nainštalujte pomocou npm install.
- Neznámy príkaz — Táto chyba sa zvyčajne vyskytuje, keď spustíte vlastný skript ako vstavaný príkaz npm. Uistite sa, že používate npm beh alebo spúšťací skript npm pri spúšťaní vlastných skriptov.
Používanie premenných prostredia v skriptoch npm
Premenné prostredia umožňujú prenášať informácie bez ich tvrdého kódovania. Ak chcete použiť premenné prostredia v skripte npm, môžete použiť cross-env npm balík. Tento nástroj vám pomôže nastaviť premennú prostredia v akomkoľvek prostredí.
Začnite spustením tohto príkazu na termináli a nainštalujte ho ako závislosť pre vývojárov:
npm ukladám -D cross-env
Potom ho použite vo svojom skripte takto:
{
"skriptá": {
"stavať": "cross-env NODE_ENV=production webpack"
}
}
Tu cross-env nastaví premennú NODE_ENV na "production".
Odovzdávanie argumentov príkazového riadka do skriptov
Argumenty príkazového riadku môžete zadať skriptu npm pomocou dvoch pomlčiek „--“ za názvom skriptu. Napríklad nasledujúci príkaz spustí testovací skript s argumentom watch:
npm spustiť test -- --sleduj
Môžete tiež odoslať argument príkazového riadka skriptu npm takto:
npm spustiť môj port --PORT=3000
Potom k nemu pristupujte v skripte nasledovne.
"skriptá": {
"môj prístav": "echo \\"Port: $npm_config_PORT\\""
}
V systéme Windows použite toto:
"skriptá": {
"môj prístav": "echo \\"Port: %npm_config_PORT%\\""
}
Skript by mal pri spustení vypísať „Port: 3000“.
Prečo používať skripty npm?
Do súboru package.json môžete pridávať skripty, spúšťať ich na príkazovom riadku, používať pred a po hákoch a odovzdávať im argumenty riadkov a premenné prostredia.
Skripty npm sú výkonným spôsobom automatizácie úloh v projektoch JavaScript. Môžu zlepšiť váš pracovný tok a ušetriť vám čas tým, že vám poskytnú konzistentné príkazy na spustenie viacerých úloh.