Závislosti umožňujú efektívne opätovné použitie kódu. Uistite sa, že viete, ako ich spravovať vo svojich projektoch Node.
Závislosť je časť kódu – knižnica, modul alebo balík – ktorý projekt vyžaduje na správne fungovanie.
V Node.js sú závislosti a devDependencies kategórie balíkov, ktoré môžete definovať v súbore package.json na správu závislostí vášho projektu. Preskúmajte ich rozdiely a naučte sa ich používať vo svojich projektoch.
Pravidelné závislosti v projekte npm
Pravidelné závislosti – alebo, jednoducho, závislosti – sú balíky, ktoré vaša aplikácia vyžaduje, aby fungovala podľa plánu pri behu a v produkčnom prostredí.
Závislosti môžu zahŕňať:
- Externé knižnice, ktoré ponúkajú vopred vytvorené funkcie, ako napríklad lodash.
- Rámce, ktoré poskytujú základ alebo štruktúru pre vytváranie aplikácií, ako sú Express alebo React.
- Databázové ovládače, ako napríklad MongoDB alebo sqlite3.
- Balíky, ktoré pomáhajú pri úlohách súvisiacich so sieťou, ako sú Axios alebo Socket.io.
Napríklad, ak staviate a
CRUD API s Express.js, expresné bude jednou z vašich závislostí, pretože váš server to potrebuje, aby fungoval.Na inštaláciu závislostí runtime môžete použiť správcu balíkov, napr npm, správca balíkov uzlovalebo Priadza.
Závislosti existujú pod objektom závislostí v súbore package.json. V objekte závislostí sú uložené názvy a verzie balíkov.
Ak chcete nainštalovať balík ako závislosť pomocou NPM, spustite príkaz nižšie:
inštalácia npm
Vyššie uvedený príkaz nainštaluje balík a zaregistruje ho ako závislosť vášho projektu v package.json:
// package.json
"závislosti": {
"názov balíka": "^package-version",
}
Keď klonujete projekt z webového úložiska, môžete nainštalovať závislosti spustením príkazu nižšie:
inštalácia npm
Keď spustíte príkaz uvedený vyššie, váš správca balíkov prečíta súbor package.json a nainštaluje zadané závislosti a závislosti devDependencies z registra balíkov.
Vývojové závislosti a ako ich používať
Závislosti vývoja – alebo devDepenendencies – sú balíky, ktoré vaša aplikácia potrebuje iba počas procesu vývoja. Inými slovami, pri výrobe nie sú potrebné.
DevDependencies môžu zahŕňať:
- Testovanie rámcov, ako je Jest alebo Mocha.
- Testovací bežci, ako napríklad Chai.
- Linters a formátovače, ako napríklad Eslint.
- Dokumentačné nástroje, ako napríklad Swagger.
Bežným príkladom devDepenedency je balík Nodemon, ktorý reštartuje váš server, keď zistí zmeny vo vašich skriptoch.
Môžete definovať devDependencies pod devDependencies objekt v a package.json súbor. Tento objekt ukladá názvy a verzie balíkov.
Balík môžete nainštalovať ako devDependency spustením tohto príkazu:
inštalácia npm --save-dev
Prípadne môžete nainštalovať balík ako devDependency spustením tohto príkazu:
inštalácia npm -D
Vyššie uvedený príkaz nainštaluje a zaregistruje balík vo vašom package.json súbor, takto:
// package.json
"devDependencies": {
"názov balíka": "^package-version"
}
Keď klonujete projekt z webového úložiska, spustite súbor inštalácia npm príkaz nainštaluje aj devDependencies.
Avšak spustenie príkazu s výroby flag nainštaluje iba závislosti.
Napríklad:
npm inštalácia -- výroba
Keď spustíte príkaz uvedený vyššie, váš správca balíkov prečíta súbor package.json súbor a nainštaluje závislosti vašej aplikácie z registra balíkov.
Prípadne môžete nastaviť NODE_ENV premenná na „výroby“, aby ste dosiahli rovnaké výsledky.
Iné typy závislostí
Okrem závislostí a devDependencies, Node.js tiež kategorizuje balíčky ako peerDepenecies a voliteľné Závislosti.
Vrstovnícke závislosti
Partnerské závislosti sú závislosti, ktoré balík používa, keď očakáva, že v aplikácii, ktorá ho používa, bude prítomná špecifická verzia alebo kompatibilná verzia iného balíka.
Účelom partnerských závislostí je zabezpečiť, aby balík správne fungoval so svojimi závislosťami a vyhýbal sa konfliktom alebo problémom s kompatibilitou.
Pri verziách npm nižších ako v7 sa závislosti od rovnocenných partnerov automaticky nenainštalujú. Skôr kód, ktorý obsahuje balík, ho musí obsahovať ako závislosť. Ak ho balík neobsahuje, npm zobrazí varovanie.
Existujú pod peerDependencies objekt v súbore package.json:
"peerDependencies": {
"balík": "^ verzia"
}
Voliteľné závislosti
Voliteľné závislosti sú balíky, ktoré nie sú nevyhnutné pre základnú funkčnosť projektu, ale môžu zlepšiť jeho schopnosti, ak sú k dispozícii.
Keďže na správne fungovanie projektu nie sú potrebné voliteľné závislosti, môžete ich počas inštalácie vynechať.
Spustenie príkazu nižšie preskočí voliteľné závislosti počas procesu inštalácie:
npm install --omit=voliteľné
Existujú pod voliteľné Závislosti objekt v súbore package.json:
"voliteľnéZávislosti": {
"balík": "^ verzia"
}
Kategórie uľahčujú správu vašich závislostí
Efektívne pochopenie, správa a kategorizácia závislostí pomáha zabezpečiť jasné oddelenie medzi balíkmi potrebnými na výrobu a tými, ktoré sú potrebné iba počas vývoja.
Toto rozlíšenie pomáha efektívnej správe závislostí, správnemu viazaniu a zjednodušenému nasadeniu vášho projektu.