Ugrás a tartalomhoz

NPM

A Wikiszótárból, a nyitott szótárból


Főnév

NPM (tsz. NPMs)

  1. (informatika) Az NPM (Node Package Manager) a Node.js hivatalos csomagkezelő rendszere, amely lehetővé teszi a fejlesztők számára, hogy könnyen kezeljenek, telepítsenek és osszanak meg JavaScript-csomagokat (könyvtárakat, modulokat) a projektjeikhez. Az NPM a világ legnagyobb nyílt forráskódú szoftverek katalógusát tartalmazza, és elengedhetetlen eszköz a modern JavaScript és Node.js alapú alkalmazások fejlesztéséhez.

Főbb funkciók és jellemzők:

  1. Csomagok telepítése:
    • Az NPM segítségével egyszerűen telepíthetőek nyílt forráskódú modulok és könyvtárak, amelyek megkönnyítik a fejlesztést. A fejlesztők csomagokat kereshetnek és telepíthetnek a terminálon keresztül. A telepített csomagokat a node_modules mappában tárolja az NPM, és a package.json fájlban tartja nyilván.
  2. Csomagok kezelése:
    • A NPM lehetőséget ad a csomagok könnyű frissítésére, eltávolítására és karbantartására. A függőségek telepítése mellett a verziók kezelésére is szolgál, így a fejlesztők pontosan szabályozhatják, melyik csomag melyik verzióját használják.
  3. package.json fájl:
    • A package.json fájl a projekt központi nyilvántartási pontja. Ez a fájl tartalmazza a projekt nevét, verzióját, a szükséges függőségek listáját és azok verzióit, valamint egyéb metaadatokat. A package.json megkönnyíti a projekt reprodukálhatóságát és együttműködését más fejlesztőkkel.
  4. NPM Registry:
    • Az NPM csomagok és modulok központi tárolója a NPM Registry, amely nyílt forráskódú modulok millióit tartalmazza. Fejlesztők feltölthetik saját csomagjaikat, hogy mások is felhasználhassák azokat, és nyilvánosan elérhetővé tehetik a közösség számára.
  5. Globális és helyi telepítés:
    • Az NPM lehetőséget biztosít csomagok helyi és globális telepítésére. A helyi telepítés azt jelenti, hogy egy adott projekt mappáján belül telepítünk egy modult, amelyet csak az adott projekt használ. A globális telepítés esetén a csomag az egész rendszerben elérhetővé válik, és bármelyik projektben használható.
  6. Skriptkezelés:
    • Az NPM képes különféle parancsfájlokat (script) futtatni, például tesztelési vagy build folyamatokat. A package.json fájlban definiált szkriptek egyszerűen futtathatók az npm run parancs segítségével. Ez megkönnyíti a fejlesztési folyamatokat, például a kód tesztelését, fordítását és a deployolást.

Főbb parancsok:

  1. npm init:
    • Egy új Node.js projekt létrehozásához használt parancs, amely létrehozza a package.json fájlt, és felkéri a felhasználót a projekt alapvető adataira (név, verzió, leírás stb.).
  2. npm install vagy npm i:
    • Csomagok telepítéséhez használható. Az npm install paranccsal telepíthetők a projekt összes függősége, amelyeket a package.json fájlban definiáltak. Ezzel a paranccsal egy adott csomag is telepíthető, például npm install express parancsra telepíti az Express modult.
  3. npm install -g:
    • Globális telepítésre használható. A -g kapcsolóval a csomag globálisan elérhető lesz a rendszerben. Ez különösen hasznos olyan eszközök esetében, amelyeket gyakran használunk több projektben is, például npm install -g typescript.
  4. npm update:
    • Az összes telepített függőség frissítéséhez használható. Az NPM frissíti a projektben használt modulokat a legújabb kompatibilis verziókra.
  5. npm uninstall:
    • A telepített csomagok eltávolítására szolgáló parancs. Például az npm uninstall lodash paranccsal eltávolítható a lodash modul a projektből.
  6. npm run:
    • A package.json fájlban definiált szkriptek futtatására szolgál. Például, ha a test szkriptet definiáltuk, akkor az npm run test parancs futtatja azt.

Előnyök:

  1. Nagyon gazdag ökoszisztéma:
    • Az NPM az egyik legnagyobb csomagközösség, amely lehetővé teszi, hogy fejlesztők gyorsan megtaláljanak és integráljanak különböző könyvtárakat és megoldásokat a projektjükbe.
  2. Egyszerű függőségkezelés:
    • Az NPM automatikusan kezeli a projekt függőségeit, figyeli a verziókat és gondoskodik arról, hogy minden szükséges modul megfelelően telepítve legyen.
  3. Könnyű megosztás:
    • A fejlesztők könnyedén közzétehetik saját csomagjaikat az NPM Registry-ben, ami elősegíti a közösség fejlődését és a kód újrahasznosítását.
  4. Globális eszközök telepítése:
    • Az NPM lehetővé teszi olyan parancssori eszközök globális telepítését, mint például a TypeScript, ESLint, Webpack stb., amelyeket aztán bármely projektben használhatunk.

Hátrányok:

  1. Függőségek túlzott növekedése:
    • Az NPM által kínált sok csomag könnyen a függőségek túlburjánzásához vezethet, ahol egy projekt túl sok külső modult használ, ami bonyolultabbá és nehezebben karbantarthatóvá teszi a kódbázist.
  2. Biztonsági kockázatok:
    • Mivel az NPM nyílt forráskódú csomagokat kínál, fennáll a veszélye annak, hogy rosszindulatú kód vagy biztonsági sebezhetőség rejtőzik egy adott csomagban. Ezért fontos, hogy a fejlesztők rendszeresen ellenőrizzék a függőségek biztonságát.
  3. Inkompatibilitási problémák:
    • A csomagfrissítések során gyakran előfordulhatnak verzió- és kompatibilitási problémák, amikor egyes modulok nem működnek megfelelően a projektben, ha nem gondosan kezeljük a verziókat.

Összefoglalás:

Az NPM a JavaScript és a Node.js ökoszisztéma alapvető eszköze, amely jelentősen megkönnyíti a csomagok telepítését, kezelését és megosztását. Az egyszerű függőségkezelés és az óriási csomagközösség révén az NPM lehetővé teszi, hogy fejlesztők gyorsan létrehozzanak komplex alkalmazásokat, és megosszák a megoldásaikat a közösséggel. Mivel az NPM a modern JavaScript fejlesztés alapvető része, a hatékony használata fontos minden Node.js fejlesztő számára.


Itt van néhány népszerű Node.js csomag, amelyeket gyakran használnak különböző projektekben, mind szerveroldali, mind kliensoldali alkalmazásokhoz:

1. Express.js

  • Leírás: Az Express.js az egyik legnépszerűbb és legszélesebb körben használt webes keretrendszer a Node.js környezetében. Egyszerű és rugalmas, ideális REST API-k és webes alkalmazások készítésére.
  • Használat: Webes alkalmazások, REST API-k készítése.
  • Telepítés: npm install express
  • Express.js hivatalos oldal

2. Lodash

  • Leírás: A Lodash egy olyan segédkönyvtár, amely hasznos funkciókat biztosít az objektumok, tömbök, karakterláncok kezeléséhez és egyéb adatfeldolgozási műveletekhez.
  • Használat: Adatmanipuláció és függvények optimalizálása.
  • Telepítés: npm install lodash
  • Lodash hivatalos oldal

3. Mongoose

  • Leírás: A Mongoose egy MongoDB adatbáziskezelő könyvtár, amely lehetővé teszi az adatbázis kezelését és modellezését. Könnyen kezelhető interfészt biztosít a MongoDB számára, amely validációt és adatmodellezést is kínál.
  • Használat: MongoDB adatbázis kezelése Node.js környezetben.
  • Telepítés: npm install mongoose
  • Mongoose hivatalos oldal

4. Axios

  • Leírás: Az Axios egy népszerű HTTP kliens, amely segítségével egyszerűen küldhetünk kéréseket szerverekhez, letölthetünk adatokat és kezelhetünk API hívásokat. Támogatja az aszinkron kódot és a Promises használatát.
  • Használat: API hívások és HTTP kérések kezelése.
  • Telepítés: npm install axios
  • Axios hivatalos oldal

5. Socket.io

  • Leírás: A Socket.io egy valós idejű, kétirányú kommunikációs könyvtár, amely lehetővé teszi a szerver és a kliens közötti valós idejű üzenetküldést websoketteken keresztül.
  • Használat: Valós idejű kommunikációs alkalmazások, mint például chat rendszerek és valós idejű játékok.
  • Telepítés: npm install socket.io
  • Socket.io hivatalos oldal

6. Jest

  • Leírás: A Jest egy JavaScript tesztelési keretrendszer, amelyet főleg unit tesztek futtatására és aszinkron kód tesztelésére használnak. Könnyen integrálható bármely JavaScript alapú projekthez.
  • Használat: Egységtesztelés (unit testing) és más típusú tesztelés JavaScript kódhoz.
  • Telepítés: npm install jest
  • Jest hivatalos oldal

7. PM2

  • Leírás: A PM2 egy Node.js processzmenedzser, amely segít a Node.js alkalmazások üzemeltetésében, skálázásában és folyamatainak kezelésében. Automatikus újraindítást kínál hibák esetén, és könnyen kezelhető.
  • Használat: Node.js alkalmazások üzemeltetése és felügyelete termelési környezetben.
  • Telepítés: npm install pm2 -g
  • PM2 hivatalos oldal

8. Passport.js

  • Leírás: A Passport.js egy felhasználóbarát hitelesítési middleware, amely támogatja a különféle hitelesítési stratégiákat, például OAuth, OpenID és más egyéni hitelesítési módszerek használatát.
  • Használat: Felhasználói hitelesítés webes alkalmazásokban.
  • Telepítés: npm install passport
  • Passport.js hivatalos oldal

9. Bcrypt.js

  • Leírás: A Bcrypt.js egy könyvtár, amely biztonságos hash-elést és jelszótárolási módszereket kínál. Gyakran használják a felhasználói jelszavak titkosítására.
  • Használat: Jelszavak biztonságos hash-elése és tárolása.
  • Telepítés: npm install bcryptjs
  • Bcrypt.js GitHub oldal

10. Morgan

  • Leírás: A Morgan egy HTTP kérésnaplózó middleware, amely segít a bejövő HTTP kérések logolásában a Node.js szerverek számára. Hasznos fejlesztés és hibakeresés során.
  • Használat: HTTP kérések naplózása a szerveroldali alkalmazásokban.
  • Telepítés: npm install morgan
  • Morgan NPM oldal

11. Moment.js (alternatíva: Day.js)

  • Leírás: A Moment.js egy népszerű könyvtár, amely az idő és dátum kezelését egyszerűsíti JavaScript-ben. Az újabb projektben inkább a Day.js-t részesítik előnyben, mivel az könnyebb és modernebb alternatíva.
  • Használat: Dátumok és időkezelés.
  • Telepítés: npm install moment vagy npm install dayjs
  • Moment.js hivatalos oldal vagy Day.js hivatalos oldal

12. CORS

  • Leírás: A CORS egy middleware, amely lehetővé teszi, hogy szabályozza a böngészők és a szerverek közötti kéréseket különböző domainek között. Ez szükséges az API-khoz és olyan alkalmazásokhoz, ahol több domain közötti kommunikáció történik.
  • Használat: Cross-Origin Resource Sharing engedélyezése webes alkalmazásokban.
  • Telepítés: npm install cors
  • CORS NPM oldal

Összegzés:

Ezek a Node.js csomagok számos különböző területen nyújtanak hasznos funkciókat, például webfejlesztés, adatbázis-kezelés, valós idejű kommunikáció, hitelesítés és tesztelés. Mindegyik modul az NPM segítségével egyszerűen telepíthető és integrálható Node.js projektekbe.

  • NPM - Szótár.net (en-hu)
  • NPM - Sztaki (en-hu)
  • NPM - Merriam–Webster
  • NPM - Cambridge
  • NPM - WordNet
  • NPM - Яндекс (en-ru)
  • NPM - Google (en-hu)
  • NPM - Wikidata
  • NPM - Wikipédia (angol)