npm vs npx - Mi a különbség?

Ha valaha is használta a Node.js fájlt, akkor biztosan az npm- et használta .

Az npm (csomópont csomagkezelő) az a függőség / csomagkezelő, amelyet a dobozból kapunk a Node.js telepítésekor. Lehetőséget nyújt a fejlesztőknek csomagok globális és helyi telepítésére.

Néha érdemes megnéznie egy adott csomagot, és kipróbálnia néhány parancsot. De ezt nem teheti meg, ha nem telepíti a függőségeket a helyi node_modulesmappába.

Ott jön be az npx .

Ebben a cikkben megvizsgáljuk az npm és az npx közötti különbségeket, és megtanuljuk, hogyan lehet a legjobbat kihozni mindkettőből.

Először is értsük meg, mi is az npm valójában, és mit tehetünk vele.

npm a csomagkezelő

npm egy pár dolog. Először is a nyílt forráskódú Node.js projektek publikálásának online tárháza.

Másodszor, ez egy CLI eszköz, amely segít telepíteni ezeket a csomagokat, és kezelni azok verzióit és függőségeit. Több százezer Node.js könyvtár és alkalmazás található az npm-en, és naponta sok más is hozzáadódik.

Az npm önmagában nem futtat egyetlen csomagot sem. Ha csomagot akar futtatni az npm használatával, akkor meg kell adnia azt a package.jsonfájlt.

Ha a futtatható fájlok npm csomagokon keresztül vannak telepítve, az npm hivatkozásokat hoz létre hozzájuk:

  • a helyi telepítéseknek vannak hivatkozásai a ./node_modules/.bin/könyvtárban
  • a globális telepítéseknek vannak linkjei a globális bin/könyvtárból (például: /usr/local/binLinuxon vagy %AppData%/npmWindows rendszeren)

Az npm csomag futtatásához vagy be kell írnia a helyi elérési utat, így:

$ ./node_modules/.bin/your-package

vagy futtathat egy helyileg telepített csomagot úgy, hogy hozzáadja a package.jsonfájljához a szkriptek részben, így:

{ "name": "your-application", "version": "1.0.0", "scripts": { "your-package": "your-package" } }

Ezután futtathatja a szkriptet npm run:

npm run your-package

Láthatja, hogy egy csomag futtatása egyszerű npm-mel elég sok ceremóniát igényel.

Szerencsére itt jön jól az npx .

npx a csomag futó

Mivel az npm 5.2.0 verziója az npx-et előre csomagolja az npm-mel. Tehát manapság nagyjából szabvány.

Az npx egy olyan CLI eszköz is, amelynek célja, hogy megkönnyítse az npm rendszerleíró adatbázisban tárolt függőségek telepítését és kezelését.

Most nagyon egyszerű futtatni bármilyen Node.js alapú futtatható fájlt, amelyet általában az npm-en keresztül telepítene.

A következő paranccsal futtathatja, hogy telepítve van-e már az aktuális npm verzióhoz:

$ which npx

Ha nem, akkor így telepítheti:

$ npm install -g npx

Miután megbizonyosodott arról, hogy telepítve van, nézzünk meg néhány felhasználási esetet, amelyek rendkívül hasznosak az npx-ben .

Könnyen futtathat egy helyileg telepített csomagot

Ha helyben telepített csomagot akar végrehajtani, akkor mindössze annyit kell tennie, hogy beírja:

$ npx your-package

Az npx ellenőrzi, hogy létezik- e, vagy létezik- e $PATHa helyi projekt bináris fájlokban , és ha igen, akkor végrehajtja.

Futtassa azokat a csomagokat, amelyeket korábban nem telepítettek

A másik nagy előny a korábban nem telepített csomag futtatásának képessége.

Néha csak néhány CLI eszközt szeretne használni, de nem szeretné globálisan telepíteni őket, csak azért, hogy kipróbálja őket. Ez azt jelenti, hogy spórolhat egy kis helyet a lemezen, és egyszerűen csak akkor futtathatja őket, amikor szüksége van rájuk. Ez azt is jelenti, hogy globális változói kevésbé lesznek szennyezettek.

Futtassa a kódot közvetlenül a GitHub-ból

execute-gist-script-with-npx

Ez nagyon szép.

Az npx segítségével bármilyen GitHub-listát és tárolót futtathat. Koncentráljunk a GitHub lényegének végrehajtására, mert könnyebb létrehozni.

A legalapvetőbb szkript a fő JS fájlból és a package.json. A fájlok beállítása után csak annyit kell tennie, hogy futtatja az npx-t, a fenti képre mutató hivatkozással.

Itt megtalálja a kódot, amelyet erre a példára használtam.

Feltétlenül olvassa el figyelmesen a szkripteket a végrehajtás előtt, hogy elkerülje a rosszindulatú kód miatt felmerülő súlyos problémákat.

Tesztelje a különböző csomagverziókat

Az npx rendkívül megkönnyíti a Node.js csomag vagy modul különböző verzióinak tesztelését. Ennek a fantasztikus szolgáltatásnak a create-react-appteszteléséhez telepíteni fogjuk a csomagot és kipróbáljuk a következő verziót.

Ez felsorol néhány kimenetet a kimenet vége felé. A Dist tagek álneveket adnak a verziószámokra, ami sokkal könnyebbé teszi a gépelést.

$ npm v create-react-app
create-reagál-app-dist-címkék

Az npx segítségével próbáljuk ki a nextdist taget, create-react-appamely létrehozza az alkalmazást egy sandbox könyvtárban.

$ npx [email protected] sandbox

Az npx ideiglenesen telepíti a következő verzióját create-react-app, majd végrehajtja az alkalmazás állványozását és a függőségek telepítését.

A telepítés után az alábbi alkalmazásra navigálhatunk:

$ cd sandbox

majd indítsa el ezzel a paranccsal:

$ npm start
create-reagál-app-npx-következő-verzió

Automatikusan megnyitja a React alkalmazást az alapértelmezett böngészőablakban.

Most van egy alkalmazásunk, amely a create-react-appcsomag következő verzióján fut !

index-page-react-app

Következtetés

Az npx segít elkerülni a verziók kialakítását, a függőséggel kapcsolatos problémákat és a felesleges csomagok telepítését, amelyeket csak ki akarunk próbálni.

Ez a csomagok, parancsok, modulok, sőt a GitHub listáinak és tárházainak végrehajtásának világos és egyszerű módját is biztosítja.

Ha még nem használta az npx-t, most itt az ideje a kezdésnek!

Ezt eredetileg a blogomon tették közzé.

Bármit elérhet és megkérdezhet tőlem a Twitteren és a Facebookon.