Node'i üks parimaid omadusi on paketihaldurid. Sõlmepakettide installimiseks ja haldamiseks on palju erinevaid viise. Siin vaatleme ühe paketihalduri või mitme paketihalduri kasutamise plusse ja miinuseid ning mõningaid parimaid viise nende koos kasutamiseks.
Mis on paketihaldur, mida te küsite? Loe edasi, et teada saada.
Mis on paketihaldurid?
Tarkvaraarenduse maailmas on projekti käivitamiseks vaja sõltuvusi. Need on nagu retsepti koostisosad: ilma nendeta ei juhtu midagi.
Näiteks kui kirjutate rakendust, mis kasutab JavaScripti ja soovib juurdepääsu mõnele funktsioonile raamatukogu nimega jQuery (mida paljud veebisaidid kunagi kasutasid), on jQuery üks teie sõltuvusi. Peate selle installima, et kui keegi teie saiti külastab, näeks ta neid lahedaid animatsioone või interaktsioone, mille olete sellega loonud!
Paketihaldurid aitavad neid projektide vahelisi suhteid hallata, haldades meie eest sõltuvusi, nii et me ei pea muretsema nende iga kord käsitsi allalaadimise pärast. kui tahame midagi uut lisada või värskendada – nad hoolitsevad ka selle eest, et kõik toimiks korralikult ja töötaks pärast installimist sujuvalt (mida on mõnikord lihtsam öelda kui tehtud).
Sõlm on eelpakendatud koos paketihalduriga, mida nimetatakse NPM-iks
NPM on vaikepaketihaldur ja sellisena on see sõlme käituskeskkonda sisse ehitatud. NPM-i saate kasutada pakettide installimiseks GitHubist või NPM otse. Samuti saate avaldada oma paketid sellel saidil, et teised saaksid neid oma NPM-i versiooni kasutades installida.
NPM-i ei kasutata ainult pakettide installimiseks; see tegeleb ka sõltuvuse lahendamise ja versioonikonfliktidega teie rakenduse koodibaasi kahe või enama nõutava teegi või mooduli vahel.
See tähendab, et kui millestki sarnasest on mitu versiooni Express töötab teie serveris NPM tagab igal ajahetkel, et iga eksemplar saab selle, mida ta vajab, ilma sellega vastuolus muud juhtumid, kes teevad sarnast tööd – ja seda kõike ilma, et teil oleks vaja midagi erilist peale lihtsalt helistades nõua () vajadusel objektil!
NPM on uskumatult võimas tööriist ja sellega on lihtne alustada. Kuid kui olete Node'i ja JavaScripti uus kasutaja, võib olla keeruline teada, millised tööriistad on teie jaoks saadaval ja millised on antud projekti jaoks parimad.
NPM-i peamine probleem on see, et pakettide installimine on aeglane. See ei ole suur asi, kui kasutate ainult aeg-ajalt skripti, kuid see võib olla uskumatu masendav, kui proovite luua tervet rakendust, mis kasutab kümneid erinevaid teeke ja tööriistad.
Lõng ja PNPM on kiiremad kui NPM
Lõng on turvaline ja usaldusväärne alternatiiv NPM-ile, mis kasutab juhuslike ülekirjutuste vältimiseks lukufaili ja tagab, et teie sõltuvused lahendatakse pakettide installimisel õigesti.
Sellel on ka kiirem installiaeg kui NPM-il, mis muudab selle eriti kasulikuks, kui töötate suurte projektidega, millel on palju mooduleid ja palju sõltuvusi.
PNPM on alternatiiv nii lõngale kui ka NPM-ile, kuid see pole veel nii populaarne, kuna sellel puuduvad kummaski funktsioonid (nt lukufailid). Kuid selle arendajad väidavad, et PNPM suudab tänu oma kergele olemusele installida pakette kuni neli korda kiiremini kui Yarn või NPM; see tähendab, et ka teie arvutis kulub vähem kettaruumi!
Kui ehitate projekti, mis nõuab vaid käputäis sõltuvusi, piisab tõenäoliselt lõngast või NPM-ist. Kui aga töötate suurte projektidega, millel on palju mooduleid ja sõltuvusi, võib PNPM olla teie jaoks parem valik.
Mitme paketihalduri kasutamise eelised
Üks paketihaldur saab korraga käsitleda ainult ühte antud teegi versiooni. Kui soovite kasutada sama teegi kahte erinevat versiooni teiste projektide jaoks või erinevates keskkondades (näiteks tootmine vs. arendus), siis peate oma süsteemi installima kaks eraldi paketti.
See võib põhjustada konflikte, kui mõlemad paketid proovivad samal ajal värskendada oma sama sõltuvuse versiooni. Mitme paketihalduri kasutamine tähendab, et teil on suurem kontroll selle üle, millised sõltuvused installitakse ja mis aitab selliseid konflikte vältida.
Teine eelis on see, et mitme paketihalduri kasutamisel pakub igaüks oma ainulaadset funktsioonide komplekti. Mõned võivad olla kiiremad kui teised; mõnel võib olla parem sõltuvushaldus; teised võivad sobida paremini rakenduste arendamiseks teatud raamistikes nagu ReactJS või VueJS jne...
Lõpuks võib mitme paketihalduri kasutamine aidata parandada teie arendaja tootlikkust, vähendades sõltuvuste otsimisele ja installimisele kuluvat aega. Seda seetõttu, et iga paketihaldur kujundatakse konkreetseid kasutusjuhtumeid silmas pidades (nt kiirus vs. turvalisus vs. sõltuvuse juhtimine jne...).
Kasutage mitut paketihaldurit, installides need globaalselt
Käsurea abil saate määrata, millist paketihaldurit soovite konkreetse projekti jaoks kasutada. Seadistage oma masinas mitu paketihaldurit:
- NPM on sõlmega eelpakendatud. See võimaldab teil installida käsurealt muid pakette (ja paketihaldureid) ning hallata NPM-iga kõigi oma projektide sõltuvusi. See on kasulik ka siis, kui soovite käivitada NPM-skripte brauseris (nt Webpack), sest brauserites pole NPM-i eelinstallitud!
- Installige lõng globaalselt, kasutades ka NPM-i. See on teine populaarne valik sõltuvuste haldamiseks JavaScripti projektides; sellel on NPM-i ees mõned eelised, mis võivad muuta selle teatud tüüpi projektide või meeskondade jaoks eelistatavamaks
- Lõpuks installige PNPM. See paketihaldur on NPM-i hark, mis on loodud olema kiirem ja stabiilsem. Sellel on ka mõned lisafunktsioonid, mis võivad teatud tüüpi projektide jaoks kasulikud olla, näiteks GitHubi sõltuvuste tugi.
Pange tähele, et globaalne installimine tähendab, et valitud pakett on saadaval kogu teie süsteemile (saate juurde pääseda programmi suvalises kohas käsurea kaudu), samas kui kohalikule installile pääseb juurde ainult praegu töötav kataloog.
Reaalmaailma näited mitme paketihalduri kasutamise kohta
Vaadake neid kasutusviise:
1. Lõnga ja NPM-i saab kasutada koos (nt. loo-reageeri rakendus)
See on kasulik, kui soovite kasutada lõnga kiirust ja tõhusust, säilitades samal ajal ühilduvuse NPM-pakettidega. Kui vajate teegi uusimat versiooni, mida pole veel Yarniga ühilduvuse tagamiseks värskendatud, või kui sellel on muu põhjus miks teie meeskond eelistaks jääda NPM-i juurde, hoolimata selle aeglasemast kiirusest või piiratud funktsioonidest, siis võib see teie jaoks hästi toimida projekt. Samuti aitab see vältida kahe eraldiseisva sõltuvuspuu olemasolu mono repo seadistuses!
2. Lõnga kasutamine globaalsete pakettide jaoks ja PNPM kohalike installide jaoks
Kuigi PNPM on kiireim paketihaldur, võib selle kasutamine globaalselt installitud pakettide puhul olla keeruline. Selle põhjuseks on asjaolu, et see kasutab teistsugust failistruktuuri, mis võib põhjustada ühilduvusprobleeme selliste programmidega nagu Visual Studio Code. Siin tulebki lõng sisse. Saate seda kasutada oma globaalselt installitud pakettide jaoks ja PNPM-i kohalike installide jaoks. See lahendus on hea viis mõlema paketihalduri eeliste kasutamiseks, ilma et peaksite oma töövoogu liiga palju muutma. Selle seadistuse abil saate NPM-i oma süsteemist täielikult eemaldada (kuid NPM-i varundamine on alati tore).
3. PNPM-i kasutamine NPM-iga tagavarana
See on hea valik juhuks, kui soovite kasutada PNPM-i, kuid ei soovi, et kõik teie arendajad peaksid veel uut tööriista õppima. See võimaldab neil jätkata NPM-iga töötamist, kuni nad on PNPM-iga rahul ja vajavad seda oma tööks.
Mitme paketihalduri kasutamine muudab asjad lihtsamaks
Saate kasutada mitut paketihaldurit. Saate neid installida globaalselt või lokaalselt ja kui soovite määrata, millist paketihaldurit konkreetse projekti jaoks kasutada, kasutage lihtsalt käsurida!
Kui soovite oma süsteemi installida mitu paketihaldurit, veenduge, et kasutate sama Node.js-i versiooni.
Kokkuvõtteks arvame, et peaksite kasutama rohkem kui ühte paketihaldurit. See on suurepärane viis Node'iga alustamiseks ja ka uute tööriistade õppimiseks, kui olete NPM-iga juba tuttav. Kui te pole veel Node'i installinud, on Windowsis seadistamine lihtne.