A függőségek lehetővé teszik a kód hatékony újrafelhasználását. Győződjön meg arról, hogy tudja, hogyan kezelheti ezeket a csomópont-projektekben.
A függőség egy kódrészlet – egy könyvtár, egy modul vagy egy csomag –, amelyre egy projektnek szüksége van a megfelelő működéshez.
A Node.js-ben a függőségek és a devDependencies csomagok kategóriái, amelyeket a package.json fájlban definiálhat a projekt függőségei kezelésére. Fedezze fel a különbségeiket, és tanulja meg, hogyan használhatja őket projektjei során.
Rendszeres függőségek egy npm projektben
A rendszeres függőségek – vagy egyszerűen függőségek – olyan csomagok, amelyekre az alkalmazásnak szüksége van ahhoz, hogy futás közben és éles környezetben is megfelelően működjön.
A függőségek a következők lehetnek:
- Előre beépített funkciókat kínáló külső könyvtárak, például a lodash.
- Olyan keretrendszerek, amelyek alapot vagy struktúrát biztosítanak építési alkalmazásokhoz, például Express vagy React.
- Adatbázis-illesztőprogramok, például MongoDB vagy sqlite3.
- A hálózattal kapcsolatos feladatokat segítő csomagok, például az Axios vagy a Socket.io.
Például, ha épít a CRUD API Express.js-szel, Expressz lesz az egyik függősége, mert a szerverének szüksége van rá a működéséhez.
A futásidejű függőségek telepítéséhez használhat csomagkezelőt, például npm, a Node Package Manager, vagy Fonal.
A függőségek a függőségek objektum alatt találhatók egy package.json fájlban. A függőségek objektum a csomagok neveit és verzióit tárolja.
Ha egy csomagot függőségként szeretne telepíteni az NPM használatával, futtassa az alábbi parancsot:
npm telepítés
A fenti parancs telepíti a csomagot, és a projekt függőségeként regisztrálja package.json:
// package.json
"függőségek": {
"csomag név": "^csomag-verzió",
}
Amikor egy projektet webalapú tárolóból klónoz, telepítheti a függőségeket az alábbi parancs futtatásával:
npm telepítés
A fenti parancs futtatásakor a csomagkezelő beolvassa a package.json fájlt, és telepíti a megadott függőségeket és devDependencieseket a csomag-nyilvántartásból.
Fejlesztési függőségek és használatuk
A fejlesztési függőségek – vagy devDepenendenciák – olyan csomagok, amelyekre az alkalmazásnak csak a fejlesztési folyamat során van szüksége. Más szóval, a termelésben nincs szükség rájuk.
A devdependenciák a következőket tartalmazhatják:
- Keretrendszerek tesztelése, mint például a Jest vagy a Mocha.
- Tesztfutók, mint például Chai.
- Linterek és formázók, mint például az Eslint.
- Dokumentációs eszközök, például a Swagger.
A devDepenedency gyakori példája az a Nodemon csomag, amely újraindítja a szervert, ha változást észlel a szkriptekben.
A devDependenciákat a devDependenciák objektum a package.json fájlt. Ez az objektum tárolja a csomagok neveit és verzióit.
A csomagot devDependencyként telepítheti a következő parancs futtatásával:
npm telepítés --save-dev
Alternatív megoldásként telepíthet egy csomagot devDependency-ként a következő parancs futtatásával:
npm telepítés -D
A fenti parancs telepíti és regisztrálja a csomagot package.json fájl, például:
// package.json
"fejlesztői függőségek": {
"csomag név": "^csomag-verzió"
}
Amikor klónoz egy projektet egy webalapú tárolóból, futtassa a npm telepítés paranccsal a devDependencies is telepíthető.
A parancs futtatása azonban a Termelés flag csak a függőségeket telepíti.
Például:
npm install --production
A fenti parancs futtatásakor a csomagkezelő beolvassa a package.json fájlt, és telepíti az alkalmazás függőségeit a csomag-nyilvántartásból.
Alternatív megoldásként beállíthatja a NODE_ENV változó erre: "Termelés” azonos eredmények elérése érdekében.
Más típusú függőségek
A függőségeken és a devDependenciákon kívül a Node.js a csomagokat is a következő kategóriákba sorolja peerDepenecies és opcionális Függőségek.
Peer függőségek
Az egyenrangú függőségek olyan függőségek, amelyeket egy csomag akkor használ, amikor azt várja, hogy egy adott verzió vagy egy másik csomag kompatibilis verziója jelen legyen az azt használó alkalmazásban.
A peer függőségek célja annak biztosítása, hogy a csomag megfelelően működjön a függőségeivel, és elkerülje az ütközéseket és a kompatibilitási problémákat.
A v7-nél kisebb npm-verziók esetén a társfüggőségek nem kerülnek automatikusan telepítésre. Inkább a csomagot tartalmazó kódnak függőségként kell tartalmaznia. Ha a csomag nem tartalmazza, az npm figyelmeztetést ad.
alatt léteznek peerDependencies objektum a package.json fájlban:
"egyenrangú függőségek": {
"csomag": "^verzió"
}
Választható függőségek
Az opcionális függőségek olyan csomagok, amelyek nem nélkülözhetetlenek egy projekt alapvető funkcióihoz, de javíthatják annak képességeit, ha rendelkezésre állnak.
Mivel a projekt megfelelő működéséhez nincs szükség opcionális függőségekre, ezeket a telepítés során elhagyhatja.
Az alábbi parancs futtatása kihagyja az opcionális függőségeket a telepítési folyamat során:
npm install --omit=opcionális
alatt léteznek opcionális Függőségek objektum a package.json fájlban:
"opcionális függőségek": {
"csomag": "^verzió"
}
A kategóriák megkönnyítik a függőségek kezelését
A függőségek hatékony megértése, kezelése és kategorizálása segít a gyártáshoz szükséges és a csak fejlesztés során szükséges csomagok egyértelmű elkülönítésében.
Ez a megkülönböztetés segíti a hatékony függőségi kezelést, a megfelelő kötegelést és a projekt egyszerűsített telepítését.