Az npm parancsfájlok terminálparancsok készletét kötik össze, amelyek segítségével automatizálhatók a JavaScript-projektek feladatai. Ezenkívül konzisztens módot biztosítanak a parancsok futtatására különböző környezetekben.
Az npm-parancsfájlokat egy package.json fájlban állíthatja be, futtathatja a parancssorban, és számos lehetőséggel konfigurálhatja viselkedésüket.
Az npm szkriptek beállítása a package.json fájlban
Az npm-parancsfájlokat általában egy package.json fájlban határozza meg, amely a JavaScript-projekt gyökerében található. Ez nem kötelező, mivel más fájlokból is futtathat szkripteket, de a package.json megkönnyíti a szkriptek elérését és kezelését.
Vegye figyelembe, hogy a követéshez telepítenie kell az npm-et és a Node-ot a fejlesztői környezetben. Íme néhány hasznos cikk:
- Hogyan kell telepítse a Node.js és az npm fájlt Windows rendszeren.
- Hogyan kell telepítse a Node.js-t és az npm-et Ubuntu-ra.
Egy npm szkript beállításához a package.json fájlban, kövesse az alábbi lépéseket:
- Navigáljon a projekt gyökeréhez.
- Futtassa az npm init parancsot a terminálon. A parancs feltesz néhány kérdést a projekttel kapcsolatban. Válaszoljon nekik egy megfelelő package.json fájl létrehozásához.
npm init
- A package.json fájlban keresse meg a szkriptek mezőt. Itt adhatja hozzá egy szkript nevét és azt a parancsot, amelyet kulcs/érték párként kell futtatnia. Például az alábbi, hello-world nevű szkript a „Hello world” kifejezést írja ki a terminálba, amikor fut.
{
"szkriptek": {
"Helló Világ": "visszhang \\"Helló Világ\\""
}
}
Íme néhány gyakori szkript a JavaScript-projektekhez:
- Rajt: Ez a szkript elindítja a fejlesztőkiszolgálót. Például egy Node projektben ez lehetséges futtassa a szervert nodemon segítségével.
- épít: Létrehozza az alkalmazás éles kódját, és egy olyan eszközt használhat, mint a webpack a kód kicsinyítéséhez és kötegeléséhez.
- teszt: Ez a szkript futtatja a projektben meghatározott teszteket. Futtathat egy tesztelési keretrendszert, mint például a Jest.
- szösz: A lint szkript egy linting eszközt futtat, például az ESLint, hogy ellenőrizze a kódot az esetleges hibákért.
- néz: Ez a szkript figyeli a forráskód változásait, majd futtat egy parancsot. Hasznos a tesztek újrafuttatásához vagy az alkalmazás kódváltáskor történő újraépítéséhez.
- telepíteni: Parancsot futtat, amely telepíti az alkalmazást a megadott környezetben, például éles vagy átmeneti környezetben.
Elő- és utószkriptek
Az npm támogatja az előzetes és utáni szkripteket. Az előzetes szkriptek egy adott szkript előtt futnak, míg a post szkriptek utána. Bármely szkripthez létrehozhat előzetes és utáni szkripteket, csak a szkript nevéhez rögzítse a "pre" vagy "post" előtagot.
Az alábbiakban például olyan elő- és utóteszt szkriptek találhatók, amelyek a tesztszkript előtt és után futnak.
{
"szkriptek": {
"előteszt": "npm run lint",
"teszt": "tréfa",
"utóteszt": "npm run build"
}
}
npm parancsfájlok futtatása a package.json fájlból
Miután hozzáadott egy npm szkriptet a package.json fájlhoz, az npmrun paranccsal futtathatja azt.
Íme a szintaxis:
npm futás
Például a korábban meghatározott indítószkript futtatásához használja:
npm futás indítása
Az npmrun parancsot önállóan is végrehajthatja, hogy megkapja a projektben elérhető összes parancsfájl listáját. Íme néhány példa kimenet:
Az [email protected] címen elérhető szkriptek az `npm run-script' segítségével:
Helló Világ
echo "Hello world"
Felsorolja a szkript nevét és a futtatott parancsot.
Gyorsírási parancsok használata beépített szkriptek futtatásához
Az npm számos beépített szkriptet támogat, amelyeket gyorsírási parancsokkal futtathat. Például egy start nevű npm szkript futtatásához használhatja az npm start parancsot az npm run start helyett.
Ez kényelmesebb és gyorsabb, mint a teljes parancs beírása. Más beépített szkriptek, amelyeket így futtathat, például a „teszt”, „leállítás” és „újraindítás”.
Több npm szkript futtatása
Több npm szkriptet kétféleképpen futtathat:
- Sorozatosan
- Párhuzamosan
Ha Linuxot vagy bármilyen más Unix-szerű rendszert használ, használhatja a szabványt több parancs egyidejű futtatásának módszerei.
Több npm parancsfájl egymás utáni futtatásához használja a && parancsot, például:
npm futás indítása && npm teszt
Több npm szkript párhuzamos futtatásához használja a &, például:
npm run server & npm run kliens
Nem UNIX környezetekben használhatja az npm-run-all parancsot vagy az egyidejűleg npm csomagot.
Az npm-run-all használata:
npm-run-all --párhuzamos szerverkliens
Egyidejű használat a package.json fájlban.
"szkriptek": {
"fejlesztő": "egyidejűleg \\"npm szerver futtatása\\" \\"npm futtató kliens\\"",
}
Vegye figyelembe, hogy használat előtt telepítenie kell az npm-run-all és a Concurrently csomagokat.
Gyakori Npm Script hibák hibaelhárítása
Az alábbiakban felsorolunk néhány gyakori hibát, amelyek az npm szkriptek futtatásakor fordulhatnak elő:
- npm hiba! hiányzó forgatókönyv — Ez a hiba akkor fordul elő, ha nem definiálta a futtatni kívánt szkriptet a package.json fájlban. Győződjön meg arról, hogy helyesen írja be a szkript nevét, és hogy az meg van-e definiálva a package.json fájl szkriptek mezőjében.
- Hozzáférés megtagadva — Ez a hiba akkor fordul elő, ha nincs engedélye egy szkript futtatására, ezért győződjön meg arról, hogy rendelkezik a megfelelő jogosultságokkal.
- Hiányzó függőségek — Ez a hiba akkor fordul elő, ha a szkript olyan csomagot használ, amely nincs telepítve. Használjon olyan eszközt, mint pl depcheck hogy ellenőrizze, nem hiányoznak-e függőségek a package.json fájlból, majd telepítse őket az npm install segítségével.
- Ismeretlen parancs — Ez a hiba általában akkor fordul elő, ha egy egyéni parancsfájlt beépített npm parancsként futtat. Ügyeljen arra, hogy használja npm futás vagy npm run-script egyéni szkriptek futtatásakor.
Környezeti változók használata npm szkriptekben
Környezeti változók lehetővé teszi az információ átadását anélkül, hogy azokat kemény kódolná. A környezeti változók npm szkriptben való használatához használhatja a cross-env npm csomag. Ezzel az eszközzel bármilyen környezetben beállíthat egy környezeti változót.
Kezdje a parancs futtatásával a terminálon, hogy telepítse fejlesztői függőségként:
npm i save -D cross-env
Ezután használja a szkriptben, így:
{
"szkriptek": {
"épít": "cross-env NODE_ENV=termelési webcsomag"
}
}
Itt a cross-env a NODE_ENV változót "termelésre" állítja.
Parancssori argumentumok átadása szkripteknek
Parancssori argumentumokat adhat át egy npm-szkriptnek a szkript neve után két kötőjellel „--”. Például a következő parancs futtatja a tesztszkriptet a watch argumentummal:
npm futásteszt -- --watch
Parancssori argumentumot is küldhet egy npm szkriptnek, így:
npm futtassa a my-portot --PORT=3000
Ezután a következőképpen érje el a szkriptben.
"szkriptek": {
"kikötőm": "visszhang \\"Port: $npm_config_PORT\\""
}
Windows rendszeren használja ezt:
"szkriptek": {
"kikötőm": "visszhang \\"Port: %npm_config_PORT%\\""
}
A szkriptnek a "Port: 3000" szöveget kell kinyomtatnia, amikor futtatja.
Miért érdemes npm szkripteket használni?
Hozzáadhat szkripteket a package.json fájlhoz, futtathatja őket a parancssorban, használhat pre- és post hook-okat, valamint sor argumentumokat és környezeti változókat adhat át nekik.
Az npm szkriptek hatékony módszert jelentenek a feladatok automatizálására JavaScript-projektekben. Javíthatják a munkafolyamatot és időt takaríthatnak meg azáltal, hogy konzisztens parancsokat biztosítanak több feladat futtatásához.