Viena no labākajām Node funkcijām ir pakotņu pārvaldnieki. Ir daudz dažādu veidu, kā instalēt un pārvaldīt mezglu pakotnes. Šeit mēs apskatīsim viena pakotņu pārvaldnieka vai vairāku pakotņu pārvaldnieka izmantošanas priekšrocības un trūkumus, kā arī dažus no labākajiem veidiem, kā tos izmantot kopā.
Kas ir pakotņu pārvaldnieks? Lasiet tālāk, lai uzzinātu.
Kas ir pakotņu pārvaldnieki?
Programmatūras izstrādes pasaulē atkarības ir tas, kas jums nepieciešams, lai palaistu projektu. Tie ir kā receptes sastāvdaļas: bez tām nekas nenotiek.
Piemēram, ja rakstāt lietotni, kas izmanto JavaScript, un tā vēlas piekļūt dažām funkcijām no bibliotēka ar nosaukumu jQuery (ko reiz izmantoja daudzas vietnes), tad jQuery būs viena no jūsu atkarībām. Jums tā būs jāinstalē, lai, kad kāds apmeklē jūsu vietni, viņš varētu redzēt šīs lieliskās animācijas vai mijiedarbības, ko esat izveidojis ar to.
Pakešu pārvaldnieki palīdz pārvaldīt šīs attiecības starp projektiem, pārvaldot atkarības mūsu vietā, tāpēc mums nav jāuztraucas par to manuālu lejupielādi katru reizi. kad mēs vēlamies kaut ko jaunu pievienot vai atjaunināt — viņi arī nodrošina, ka viss darbojas pareizi un darbojas nevainojami pēc instalēšanas (kas dažreiz ir vieglāk pateikt nekā darīts).
Mezgls ir iesaiņots ar pakotņu pārvaldnieku, ko sauc par NPM
NPM ir noklusējuma pakotņu pārvaldnieks, un tādējādi tas ir iebūvēts mezgla izpildlaikā. Varat izmantot NPM, lai instalētu pakotnes no GitHub vai NPM tieši. Varat arī publicēt savas pakotnes šajā vietnē, lai citi varētu tās instalēt, izmantojot savu NPM versiju.
NPM tiek izmantots ne tikai pakotņu instalēšanai; tas arī apstrādā atkarības risinājumu un versiju konfliktus starp divām vai vairākām nepieciešamajām bibliotēkām vai moduļiem jūsu lietojumprogrammas kodu bāzē.
Tas nozīmē, ka, ja kaut kam līdzīgam ir vairākas versijas Express darbojas jūsu serverī jebkurā laikā NPM pārliecināsies, ka katrs gadījums saņem to, kas tai nepieciešams, nekonfliktējot citi gadījumi, kas veic līdzīgu darbu — un tas viss, neprasot jums darīt kaut ko īpašu, izņemot vienkāršu zvanot prasīt () uz objekta, kad nepieciešams!
NPM ir neticami spēcīgs rīks, un ar to ir viegli sākt darbu. Taču, ja esat iesācējs Node un JavaScript lietošanā, var būt grūti zināt, kādi rīki ir pieejami jūsu lietošanai un kuri no tiem ir vislabākie konkrētajam projektam.
Galvenā NPM problēma ir tā, ka pakotnes tiek instalētas lēni. Tas nav liels darījums, ja ik pa laikam palaižat skriptu vai divus, taču tas var būt neticami nomākta, ja mēģināt izveidot visu lietojumprogrammu, kas izmanto desmitiem dažādu bibliotēku un instrumenti.
Dzija un PNPM ir ātrāki nekā NPM
Dzija ir droša un uzticama alternatīva NPM, kas izmanto bloķēšanas failu, lai novērstu nejaušu pārrakstīšanu un nodrošinātu, ka jūsu atkarības tiek pareizi atrisinātas, instalējot pakotnes.
Tam ir arī ātrāks instalēšanas laiks nekā NPM, kas padara to īpaši noderīgu, ja strādājat ar lieliem projektiem, kuros ir daudz moduļu ar daudzām atkarībām.
PNPM ir alternatīva gan Yarn, gan NPM, taču tā vēl nav tik populāra, jo tai nav dažu funkciju, kas atrodama nevienā no tām (piemēram, bloķēšanas faili). Tomēr tā izstrādātāji apgalvo, ka PNPM var instalēt pakotnes līdz pat četrām reizēm ātrāk nekā Yarn vai NPM, pateicoties tā vieglajam raksturam; tas nozīmē arī mazāku diska vietas izmantošanu jūsu datorā!
Ja veidojat projektu, kas prasa tikai dažas atkarības, iespējams, pietiks ar dziju vai NPM. Tomēr, ja strādājat ar lieliem projektiem ar daudziem moduļiem un atkarībām, PNPM varētu būt jums labāks risinājums.
Vairāku pakotņu pārvaldnieku izmantošanas priekšrocības
Viens pakotņu pārvaldnieks vienlaikus var apstrādāt tikai vienu jebkuras bibliotēkas versiju. Ja vēlaties izmantot divas dažādas vienas un tās pašas bibliotēkas versijas citiem projektiem vai dažādās vidēs (piemēram, ražošanas vs. izstrāde), tad sistēmā būs jāinstalē divas atsevišķas pakotnes.
Tas var izraisīt konfliktus, ja abas pakotnes vienlaikus mēģina atjaunināt vienas un tās pašas atkarības versiju. Vairāku pakotņu pārvaldnieku izmantošana nozīmē, ka jums ir lielāka kontrole pār to, kuras atkarības tiek instalētas un kur tas palīdz izvairīties no šāda veida konfliktiem.
Vēl viens ieguvums ir tas, ka, izmantojot vairākus pakotņu pārvaldniekus, katrs nodrošinās savu unikālo funkciju kopumu. Daži var būt ātrāki par citiem; dažiem varētu būt labākas atkarības pārvaldības iespējas; citi varētu būt piemērotāki lietojumprogrammu izstrādei noteiktos ietvaros, piemēram, ReactJS vai VueJS utt.
Visbeidzot, vairāku pakotņu pārvaldnieku izmantošana var palīdzēt uzlabot izstrādātāja produktivitāti, samazinot laiku, kas pavadīts atkarību meklēšanai un instalēšanai. Tas ir tāpēc, ka katrs pakotņu pārvaldnieks tiks izstrādāts, ņemot vērā konkrētu lietošanas gadījumu kopu (piemēram, ātrums pret. drošība vs. atkarību pārvaldība utt...).
Izmantojiet vairākus pakotņu pārvaldniekus, instalējot tos globāli
Izmantojot komandrindu, varat norādīt, kuru pakotņu pārvaldnieku vēlaties izmantot konkrētam projektam. Iestatiet vairākus pakotņu pārvaldniekus savā datorā:
- NPM tiek iepakots kopā ar Node. Tas ļaus jums instalēt citas pakotnes (un pakotņu pārvaldniekus) no komandrindas un pārvaldīt atkarības visos projektos, izmantojot NPM. Tas ir noderīgi arī tad, ja vēlaties palaist NPM skriptus pārlūkprogrammā (piem., Webpack), jo pārlūkprogrammās nav iepriekš instalēta NPM!
- Instalējiet Dziju globāli, kā arī izmantojot NPM. Šī ir vēl viena populāra JavaScript projektu atkarību pārvaldības iespēja; tai ir dažas priekšrocības salīdzinājumā ar NPM, kas to var padarīt vēlamāku noteikta veida projektiem vai komandām
- Visbeidzot, instalējiet PNPM. Šis pakotņu pārvaldnieks ir NPM dakša, kas ir izstrādāta ātrākai un stabilākai. Tam ir arī dažas papildu funkcijas, kas var būt noderīgas dažu veidu projektiem, piemēram, atbalsts atkarībām no GitHub.
Ņemiet vērā, ka globālā instalēšana nozīmē, ka izvēlētā pakotne būs pieejama visai jūsu sistēmai (jūs varat piekļūt programmai jebkurā vietā, izmantojot komandrindu), savukārt vietējai instalācijai var piekļūt tikai pašreizējais darbs direktoriju.
Reāli piemēri, kā izmantot vairākus pakotņu pārvaldniekus
Apskatiet šos lietojumus:
1. Dziju un NPM var izmantot kopā (piem. izveidot-reaģēt-lietotni)
Tas ir noderīgi, ja vēlaties izmantot Yarn ātrumu un efektivitāti, vienlaikus saglabājot saderību ar NPM pakotnēm. Ja jums ir nepieciešama jaunākā bibliotēkas versija, kas vēl nav atjaunināta, lai nodrošinātu saderību ar Yarn, vai ja ir kāds cits iemesls kāpēc jūsu komanda labprātāk pieturas pie NPM, neraugoties uz tās lēnāku ātrumu vai ierobežotu funkciju komplektu, tas varētu jums noderēt projektu. Tas arī palīdz izvairīties no diviem atsevišķiem atkarības kokiem mono repo iestatījumos!
2. Dzijas izmantošana globālām pakotnēm un PNPM vietējām instalācijām
Lai gan PNPM ir ātrākais pakotņu pārvaldnieks, to var būt sarežģīti izmantot globāli instalētām pakotnēm. Tas ir tāpēc, ka tajā tiek izmantota cita failu struktūra, kas var izraisīt saderības problēmas ar tādām programmām kā Visual Studio Code. Šeit ienāk dzija. Varat to izmantot globāli instalētajām pakotnēm un PNPM vietējām instalācijām. Šis risinājums ir labs veids, kā izmantot abu pakotņu pārvaldnieku priekšrocības, pārāk daudz nemainot darbplūsmu. Izmantojot šo iestatījumu, varat pilnībā noņemt NPM no sistēmas (taču vienmēr ir patīkami, ja NPM ir rezerves kopija).
3. PNPM izmantošana ar NPM kā rezerves variantu
Šī ir laba iespēja, kas jāņem vērā, ja vēlaties izmantot PNPM, bet nevēlaties, lai visiem izstrādātājiem vēl būtu jāapgūst jauns rīks. Tas ļauj viņiem turpināt darbu ar NPM, līdz viņi ir apmierināti ar PNPM un viņiem tas ir nepieciešams viņu darbam.
Vairāku pakotņu pārvaldnieku izmantošana padara darbu vienkāršāku
Varat izmantot vairākus pakotņu pārvaldniekus. Jūs varat tos instalēt globāli vai lokāli, un, ja vēlaties norādīt, kurš pakotņu pārvaldnieks ir jāizmanto konkrētam projektam, vienkārši izmantojiet komandrindu!
Ja vēlaties savā sistēmā instalēt vairākus pakotņu pārvaldniekus, pārliecinieties, vai izmantojat vienu un to pašu Node.js versiju.
Noslēgumā mēs domājam, ka jums vajadzētu izmantot vairāk nekā vienu pakotņu pārvaldnieku. Tas ir lielisks veids, kā sākt darbu ar Node un arī apgūt dažus jaunus rīkus, ja jau esat iepazinies ar NPM. Ja jums vēl nav instalēts Node, iestatīšana operētājsistēmā Windows ir vienkārša.