Odvisnosti omogočajo učinkovito ponovno uporabo kode. Prepričajte se, da jih znate upravljati v svojih projektih Node.
Odvisnost je del kode – knjižnica, modul ali paket – ki ga projekt potrebuje za pravilno delovanje.
V Node.js so odvisnosti in devDependencies kategorije paketov, ki jih lahko definirate v datoteki package.json za upravljanje odvisnosti vašega projekta. Raziščite njihove razlike in se jih naučite uporabiti v svojih projektih.
Običajne odvisnosti v projektu npm
Običajne odvisnosti – ali preprosto odvisnosti – so paketi, ki jih vaša aplikacija potrebuje za delovanje, kot je predvideno med izvajanjem in v produkcijskih okoljih.
Odvisnosti lahko vključujejo:
- Zunanje knjižnice, ki ponujajo vnaprej zgrajeno funkcionalnost, kot je lodash.
- Ogrodja, ki zagotavljajo osnovo ali strukturo za gradnjo aplikacij, kot sta Express ali React.
- Gonilniki baze podatkov, kot sta MongoDB ali sqlite3.
- Paketi, ki pomagajo pri nalogah, povezanih z omrežjem, kot sta Axios ali Socket.io.
Na primer, če gradite a
CRUD API z Express.js, ekspresno bo ena od vaših odvisnosti, ker jo vaš strežnik potrebuje za delovanje.Če želite namestiti odvisnosti med izvajanjem, lahko uporabite upravitelja paketov, kot je npm, upravitelj paketov vozlišč, ali Preja.
Odvisnosti obstajajo pod objektom odvisnosti v datoteki package.json. Objekt odvisnosti shranjuje imena in različice paketov.
Če želite namestiti paket kot odvisnost z uporabo NPM, zaženite spodnji ukaz:
namestitev npm
Zgornji ukaz namesti paket in ga registrira kot odvisnost vašega projekta v package.json:
// package.json
"odvisnosti": {
"ime-paketa": "^različica-paketa",
}
Ko klonirate projekt iz spletnega repozitorija, lahko namestite odvisnosti tako, da zaženete spodnji ukaz:
namestitev npm
Ko zaženete zgornji ukaz, vaš upravitelj paketov prebere package.json in namesti podane odvisnosti in devDependencies iz registra paketov.
Razvojne odvisnosti in kako jih uporabiti
Razvojne odvisnosti—ali devDepenendencies—so paketi, ki jih vaša aplikacija potrebuje samo med razvojnim procesom. Z drugimi besedami, v proizvodnji niso potrebni.
DevDependencies lahko vključujejo:
- Testiranje okvirjev, kot sta Jest ali Mocha.
- Testni tekači, kot je Chai.
- Linterji in formatirji, kot je Eslint.
- Orodja za dokumentacijo, kot je Swagger.
Pogost primer odvisnosti od razvijalca je paket Nodemon, ki znova zažene vaš strežnik, ko zazna spremembe v vaših skriptih.
DevDependencies lahko definirate pod devDependencies predmet v a package.json mapa. Ta objekt shranjuje imena in različice paketov.
Paket lahko namestite kot devDependency tako, da zaženete ta ukaz:
namestitev npm --save-dev
Druga možnost je, da namestite paket kot devDependency tako, da zaženete ta ukaz:
npm namestite -D
Zgornji ukaz namesti in registrira paket v vašem package.json datoteka, takole:
// package.json
"devDependencies": {
"ime-paketa": "^različica-paketa"
}
Ko klonirate projekt iz spletnega repozitorija, zaženete namestitev npm ukaz bo namestil tudi devDependencies.
Vendar zagon ukaza z proizvodnja zastavica namesti samo odvisnosti.
Na primer:
npm install --production
Ko zaženete zgornji ukaz, vaš upravitelj paketov prebere package.json datoteko in namesti odvisnosti vaše aplikacije iz registra paketov.
Druga možnost je, da nastavite NODE_ENV spremenljivka za "proizvodnja«, da bi dosegli enake rezultate.
Druge vrste odvisnosti
Poleg odvisnosti in devDependencies Node.js tudi kategorizira pakete kot peerDepenecies in izbirne odvisnosti.
Odvisnosti od vrstnikov
Odvisnosti enakovrednih so odvisnosti, ki jih paket uporablja, ko pričakuje, da bo v aplikaciji, ki ga uporablja, prisotna določena različica ali združljiva različica drugega paketa.
Namen enakovrednih odvisnosti je zagotoviti, da paket pravilno deluje s svojimi odvisnostmi in se izogne konfliktom ali težavam z združljivostjo.
Za različice npm, manjše od v7, odvisnosti enakovrednih sistemov niso samodejno nameščene. Namesto tega mora koda, ki vključuje paket, to vsebovati kot odvisnost. Če ga paket ne vključuje, bo npm sprožil opozorilo.
Obstajajo pod peerDependencies predmet v datoteki package.json:
"peerDependencies": {
"paket": "^različica"
}
Izbirne odvisnosti
Izbirne odvisnosti so paketi, ki niso bistveni za osnovno funkcionalnost projekta, lahko pa izboljšajo njegove zmogljivosti, če so na voljo.
Ker izbirne odvisnosti niso potrebne za pravilno delovanje projekta, jih lahko med namestitvijo izpustite.
Če zaženete spodnji ukaz, boste med postopkom namestitve preskočili neobvezne odvisnosti:
npm install --omit=izbirno
Obstajajo pod izbirne odvisnosti predmet v datoteki package.json:
"izbirne odvisnosti": {
"paket": "^različica"
}
S kategorijami je lažje upravljati vaše odvisnosti
Učinkovito razumevanje, upravljanje in kategoriziranje odvisnosti pomaga zagotoviti jasno ločevanje med paketi, potrebnimi za proizvodnjo, in tistimi, ki so potrebni samo med razvojem.
To razlikovanje pomaga pri učinkovitem upravljanju odvisnosti, pravilnem povezovanju in poenostavljeni uvedbi vašega projekta.