Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Skripty npm obsahují sadu příkazů terminálu, které můžete použít k automatizaci úloh v projektu JavaScript. Poskytují také konzistentní způsob spouštění příkazů v různých prostředích.

Skripty npm můžete nastavit v souboru package.json, spouštět je na příkazovém řádku a používat širokou sadu možností pro konfiguraci jejich chování.

Nastavení skriptů npm v souboru package.json

Skripty npm obvykle definujete v souboru package.json, který se nachází v kořenovém adresáři vašeho projektu JavaScript. Není to nutnost, protože můžete spouštět skripty z jiných souborů, ale package.json usnadňuje přístup a správu vašich skriptů.

Abyste mohli pokračovat, musíte mít ve vývojovém prostředí nainstalované npm a Node. Zde je několik užitečných článků:

  • Jak nainstalujte Node.js a npm na Windows.
  • Jak nainstalujte Node.js a npm na Ubuntu.

Chcete-li nastavit skript npm v package.json, postupujte takto:

instagram viewer
  1. Přejděte do kořenového adresáře vašeho projektu.
  2. Spusťte npm init na terminálu. Příkaz se vás zeptá na několik otázek o vašem projektu. Odpovězte na ně a vytvořte příslušný soubor package.json.
    npm init 
  3. V souboru package.json vyhledejte pole scripts. Zde můžete přidat název skriptu a příkaz, který má spustit, jako páry klíč/hodnota. Například níže uvedený skript, nazvaný hello-world, vypíše do terminálu při spuštění „Hello world“.
    {
    "skripty": {
    "Ahoj světe": "echo \\"Ahoj světe\\""
    }
    }

Zde jsou některé běžné skripty pro projekty JavaScript:

  • Start: Tento skript spustí vývojový server. Například v projektu Node může spustit server pomocí nodemon.
  • stavět: Vygeneruje produkční kód pro vaši aplikaci a může použít nástroj jako webpack k minimalizaci a seskupení kódu.
  • test: Tento skript spouští testy definované ve vašem projektu. Může provozovat testovací rámec jako Jest.
  • vlákna: Skript lint spouští nástroj pro lintování, jako je ESLint, aby zkontroloval potenciální chyby v kódu.
  • hodinky: Tento skript sleduje změny ve zdrojovém kódu a poté spustí příkaz. Je to užitečné pro opětovné spouštění testů nebo přestavbu aplikace při změně kódu.
  • nasadit: Spustí příkaz, který nasadí aplikaci do určeného prostředí, jako je produkční nebo pracovní prostředí.

Předběžné a následné skripty

npm podporuje pre a post skripty. Předběžné skripty se spouštějí před konkrétním skriptem, zatímco následné skripty se spouštějí poté. Pro jakýkoli skript můžete vytvořit předběžné a následné skripty, stačí před název skriptu přidat předponu „pre“ nebo „post“.

Například níže jsou skripty pretest a posttest, které se spustí před a po testovacím skriptu.

{
"skripty": {
"předzkoušet": "npm run lint",
"test": "žert",
"posttest": "npm run build"
}
}

Spouštění skriptů npm z package.json

Jakmile do package.json přidáte skript npm, můžete jej spustit pomocí příkazu npmrun.

Zde je syntaxe:

běh npm 

Chcete-li například spustit dříve definovaný spouštěcí skript, použijte:

npm spuštění běhu

Příkaz npmrun můžete spustit samostatně, abyste získali seznam všech dostupných skriptů v projektu. Zde je několik příkladů výstupu:

Skripty dostupné v [email protected] prostřednictvím `npm run-script`:
Ahoj světe
echo "Ahoj světe"

Uvádí název skriptu a příkaz, který spouští.

Použití zkrácených příkazů ke spouštění vestavěných skriptů

npm podporuje několik vestavěných skriptů, které můžete spustit pomocí zkrácených příkazů. Chcete-li například spustit skript npm s názvem start, můžete místo npm spustit start použít npm start.

Je to pohodlnější a rychlejší než psaní celého příkazu. Mezi další vestavěné skripty, které můžete takto spustit, patří „test“, „stop“ a „restart“.

Spouštění více skriptů npm

Více skriptů npm můžete spustit dvěma způsoby:

  • Postupně
  • Paralelně

Pokud používáte Linux nebo jakýkoli jiný systém podobný Unixu, můžete použít standard metody spouštění více příkazů najednou.

Chcete-li spustit více skriptů npm postupně, použijte &&, například:

spuštění spuštění npm && test npm

Chcete-li paralelně spustit více skriptů npm, použijte například:

npm spustit server a npm spustit klienta

V prostředích jiných než UNIX můžete použít příkaz npm-run-all nebo souběžně balíček npm.

Použití npm-run-all:

npm-run-all -- klient paralelního serveru

Současné použití v package.json.

"skripty": {
"dev": "současně \\"npm spustit server\\" \\"npm spustit klienta\\"",
}

Pamatujte, že před použitím musíte nainstalovat balíčky npm-run-all a Concurrently.

Odstraňování běžných chyb skriptu Npm

Níže jsou uvedeny některé běžné chyby, se kterými se můžete setkat při spouštění skriptů npm:

  • npm chyba! chybí skript — K této chybě dochází, když jste nedefinovali skript, který se pokoušíte spustit v souboru package.json. Ujistěte se, že název skriptu píšete správně a že je definován v poli scripts souboru package.json.
  • Přístup odepřen — K této chybě dochází, když nemáte oprávnění ke spuštění skriptu, takže se ujistěte, že máte správná oprávnění.
  • Chybějící závislosti — K této chybě dochází, když skript používá balíček, který není nainstalován. Použijte nástroj jako depcheck zkontrolujte, zda v package.json chybí závislosti, a poté je nainstalujte pomocí npm install.
  • Neznámý příkaz — K této chybě obvykle dochází, když spustíte vlastní skript jako vestavěný příkaz npm. Ujistěte se, že používáte běh npm nebo run-script npm při spouštění vlastních skriptů.

Použití proměnných prostředí ve skriptech npm

Proměnné prostředí umožňují předávat informace bez jejich tvrdého kódování. Chcete-li použít proměnné prostředí ve skriptu npm, můžete použít cross-env npm balíček. Tento nástroj vám pomůže nastavit proměnnou prostředí v jakémkoli prostředí.

Začněte spuštěním tohoto příkazu na terminálu a nainstalujte jej jako závislost pro vývojáře:

npm ukládám -D cross-env

Poté jej použijte ve svém skriptu takto:

{
"skripty": {
"stavět": "cross-env NODE_ENV=produkční webový balíček"
}
}

Zde cross-env nastaví proměnnou NODE_ENV na "production".

Předávání argumentů příkazového řádku do skriptů

Argumenty příkazového řádku můžete předat skriptu npm pomocí dvou pomlček "--" za názvem skriptu. Například následující příkaz spustí testovací skript s argumentem watch:

npm spustit test sledovat

Můžete také odeslat argument příkazového řádku do skriptu npm takto:

npm spustit můj port --PORT=3000

Poté k němu přistupte ve skriptu následovně.

"skripty": {
"můj přístav": "echo \\"Port: $npm_config_PORT\\""
}

V systému Windows použijte toto:

"skripty": {
"můj přístav": "echo \\"Port: %npm_config_PORT%\\""
}

Skript by měl při spuštění vypsat "Port: 3000".

Proč používat skripty npm?

Do souboru package.json můžete přidávat skripty, spouštět je na příkazovém řádku, používat před a post háčky a předávat jim argumenty řádku a proměnné prostředí.

Skripty npm jsou výkonným způsobem automatizace úloh v projektech JavaScript. Mohou zlepšit váš pracovní postup a ušetřit vám čas tím, že vám poskytnou konzistentní příkazy pro spouštění více úloh.