Atkarības nodrošina efektīvu koda atkārtotu izmantošanu. Pārliecinieties, ka zināt, kā tos pārvaldīt savos Node projektos.

Atkarība ir koda daļa — bibliotēka, modulis vai pakotne —, kas nepieciešama projekta pareizai darbībai.

Programmā Node.js atkarības un devDependencies ir pakotņu kategorijas, kuras varat definēt failā package.json, lai pārvaldītu sava projekta atkarības. Izpētiet to atšķirības un uzziniet, kā tās izmantot savos projektos.

Regulāras atkarības npm projektā

Regulārās atkarības vai, vienkārši, atkarības, ir pakotnes, kas jūsu lietojumprogrammai ir nepieciešamas, lai tās darbotos, kā paredzēts izpildlaikā un ražošanas vidēs.

Atkarības var ietvert:

  • Ārējās bibliotēkas, kas piedāvā iepriekš izveidotu funkcionalitāti, piemēram, lodash.
  • Rāmji, kas nodrošina pamatu vai struktūru ēku lietojumprogrammām, piemēram, Express vai React.
  • Datu bāzes draiveri, piemēram, MongoDB vai sqlite3.
  • Paketes, kas palīdz ar tīklu saistītos uzdevumos, piemēram, Axios vai Socket.io.

Piemēram, ja jūs veidojat a

CRUD API ar Express.js, izteikt būs viena no jūsu atkarībām, jo ​​jūsu serverim tas ir nepieciešams, lai tas darbotos.

Lai instalētu izpildlaika atkarības, varat izmantot pakotņu pārvaldnieku, piemēram npm, mezgla pakotņu pārvaldnieks, vai dzija.

Atkarības pastāv failā package.json atkarību objektā. Atkarību objekts saglabā pakotņu nosaukumus un versijas.

Lai instalētu pakotni kā atkarību, izmantojot NPM, palaidiet tālāk norādīto komandu:

npm instalēšana 

Iepriekš minētā komanda instalē pakotni un reģistrē to kā jūsu projekta atkarību pack.json:

// package.json

"atkarības": {
"pakotnes nosaukums": "^package-version",
}

Klonējot projektu no tīmekļa repozitorija, varat instalēt atkarības, izpildot tālāk norādīto komandu:

npm instalēšana

Palaižot iepriekš minēto komandu, pakotņu pārvaldnieks nolasa pack.json failu un instalē norādītās atkarības un devDependencies no pakotņu reģistra.

Attīstības atkarības un to izmantošana

Izstrādes atkarības jeb devDepenendencies ir pakotnes, kas jūsu lietojumprogrammai nepieciešamas tikai izstrādes procesa laikā. Citiem vārdiem sakot, ražošanā tie nav vajadzīgi.

DevAtkarības var ietvert:

  • Testēšanas ietvari, piemēram, Jest vai Mocha.
  • Testa skrējēji, piemēram, Chai.
  • Linters un formatētāji, piemēram, Eslint.
  • Dokumentācijas rīki, piemēram, Swagger.

Izplatīts devDepenedency piemērs ir Nodemon pakotne, kas restartē jūsu serveri, kad konstatē izmaiņas jūsu skriptos.

Jūs varat definēt devDependencies zem devAtkarības objekts a pack.json failu. Šis objekts saglabā pakotņu nosaukumus un versijas.

Varat instalēt pakotni kā devDependency, izpildot šo komandu:

npm instalēšana  --save-dev

Varat arī instalēt pakotni kā devDependency, izpildot šo komandu:

npm instalēšana -D 

Iepriekš minētā komanda instalē un reģistrē pakotni jūsu pack.json failu, piemēram:

// package.json
"Dependencies": {
"pakotnes nosaukums": "^package-version"
}

Klonējot projektu no tīmekļa repozitorija, palaižot npm instalēšana komanda instalēs arī devDependencies.

Tomēr palaižot komandu ar ražošanu karodziņš instalē tikai atkarības.

Piemēram:

npm install --production

Palaižot iepriekš minēto komandu, pakotņu pārvaldnieks nolasa pack.json failu un instalē jūsu lietojumprogrammas atkarības no pakotņu reģistra.

Alternatīvi varat iestatīt NODE_ENV mainīgais uz "ražošanu”, lai sasniegtu tādus pašus rezultātus.

Cita veida atkarības

Papildus atkarībām un devDependencies, Node.js pakotnes arī klasificē kā peerDepenecies un neobligātiAtkarības.

Vienaudžu atkarības

Vienādranga atkarības ir atkarības, ko pakotne izmanto, ja tā sagaida, ka lietojumprogrammā, kas to izmanto, būs pieejama noteikta versija vai saderīga citas pakotnes versija.

Vienādranga atkarību mērķis ir nodrošināt, lai pakotne pareizi darbotos ar tās atkarībām un izvairītos no konfliktiem vai saderības problēmām.

Npm versijām, kas ir mazākas par v7, vienaudžu atkarības netiek automātiski instalētas. Drīzāk kodam, kas ietver pakotni, tas ir jāiekļauj kā atkarība. Ja iepakojumā tas nav iekļauts, npm parādīs brīdinājumu.

Tie pastāv zem vienaudžu atkarības objekts pack.json failā:

"vienādranga atkarības": {
"paka": "^versija"
}

Izvēles atkarības

Izvēles atkarības ir pakotnes, kas nav būtiskas projekta pamatfunkcionalitātei, bet var uzlabot tā iespējas, ja tādas ir pieejamas.

Tā kā izvēles atkarības nav nepieciešamas, lai projekts darbotos pareizi, instalēšanas laikā varat tās izlaist.

Palaižot tālāk norādīto komandu, instalēšanas procesa laikā tiks izlaistas izvēles atkarības:

npm install --omit=neobligāts

Tie pastāv zem neobligātiAtkarības objekts pack.json failā:

"izvēles atkarības": {
"paka": "^versija"
}

Kategorijas atvieglo atkarību pārvaldību

Efektīva atkarību izpratne, pārvaldība un kategorizēšana palīdz nodrošināt skaidru atdalīšanu starp ražošanai nepieciešamajām pakotnēm un tām, kas nepieciešamas tikai izstrādes laikā.

Šī atšķirība palīdz efektīvi pārvaldīt atkarību, pareizi apvienot un racionalizēt jūsu projekta izvietošanu.