Viena geriausių „Node“ savybių yra paketų tvarkyklės. Yra daug skirtingų mazgų paketų diegimo ir valdymo būdų. Čia apžvelgsime vienos paketų tvarkyklės arba daugiau nei vienos paketų tvarkyklės naudojimo privalumus ir trūkumus bei kai kuriuos geriausius būdus, kaip juos naudoti kartu.
Kas yra paketų tvarkytuvas? Skaitykite toliau, kad sužinotumėte.
Kas yra paketų valdytojai?
Programinės įrangos kūrimo pasaulyje priklausomybės yra tai, ko jums reikia norint vykdyti projektą. Jie yra kaip recepto ingredientai: be jų niekas neįvyksta.
Pavyzdžiui, jei rašote programą, kuri naudoja „JavaScript“, ir ji nori pasiekti kai kurias funkcijas biblioteka, vadinama jQuery (kurią kadaise naudojo daugelis svetainių), tada „jQuery“ bus viena iš jūsų priklausomybių. Jį reikės įdiegti, kad kas nors apsilankytų jūsų svetainėje, matytų nuostabias animacijas ar sąveikas, kurias sukūrėte su ja!
Paketų tvarkytojai padeda valdyti šiuos ryšius tarp projektų, tvarkydami priklausomybes už mus, todėl mums nereikės jaudintis, kad kiekvieną kartą patys juos atsisiunčiame rankiniu būdu. kai norime ką nors naujo pridėti ar atnaujinti – jie taip pat užtikrina, kad viskas veiktų tinkamai ir veiktų sklandžiai įdiegus (tai kartais lengviau pasakyti nei padaryta).
Mazgas yra iš anksto supakuotas su paketų tvarkykle, vadinama NPM
NPM yra numatytoji paketų tvarkyklė, todėl ji integruota į mazgo vykdymo laiką. NPM galite naudoti norėdami įdiegti paketus iš GitHub arba NPM tiesiogiai. Taip pat galite paskelbti savo paketus šioje svetainėje, kad kiti galėtų juos įdiegti naudodami savo NPM versiją.
NPM naudojamas ne tik paketams diegti; ji taip pat tvarko priklausomybės sprendimą ir versijų konfliktus tarp dviejų ar daugiau reikalingų bibliotekų arba modulių jūsų programos kodo bazėje.
Tai reiškia, kad jei yra kelios kažko panašaus versijos Express veikia jūsų serveryje bet kuriuo metu NPM užtikrins, kad kiekvienas egzempliorius gautų tai, ko jam reikia, neprieštaraudamas kiti atvejai, atliekantys panašų darbą – ir visa tai nereikalaujant daryti nieko ypatingo, išskyrus paprastą skambinant reikalauti () ant objekto, kai reikia!
NPM yra neįtikėtinai galingas įrankis, kurį lengva pradėti naudoti. Bet jei nesate naujokas „Node“ ir „JavaScript“, gali būti sudėtinga žinoti, kokius įrankius galite naudoti ir kurie iš jų yra geriausi konkrečiam projektui.
Pagrindinė NPM problema yra ta, kad paketai diegiami lėtai. Tai nėra didelis dalykas, jei tik retkarčiais vykdote scenarijų ar du, bet tai gali būti neįtikėtina apmaudu, jei bandote sukurti visą programą, kuri naudoja daugybę skirtingų bibliotekų ir įrankiai.
Verpalai ir PNPM yra greitesni nei NPM
Verpalai yra saugi ir patikima NPM alternatyva, kuri naudoja užrakto failą, kad išvengtų atsitiktinio perrašymo, ir užtikrina, kad jūsų priklausomybės būtų tinkamai išspręstos diegiant paketus.
Jis taip pat turi greitesnį diegimo laiką nei NPM, todėl jis ypač naudingas, jei dirbate su dideliais projektais, kuriuose yra daug modulių su daugybe priklausomybių.
PNPM yra „Yarn“ ir „NPM“ alternatyva, tačiau ji dar nėra tokia populiari, nes neturi kai kurių funkcijų, esančių nei vienoje, nei kitoje (pvz., užrakinimo failų). Tačiau jo kūrėjai teigia, kad PNPM gali įdiegti paketus iki keturių kartų greičiau nei Yarn ar NPM dėl savo lengvo pobūdžio; tai reiškia ir mažiau vietos diske jūsų kompiuteryje!
Jei kuriate projektą, kuriam reikia tik kelių priklausomybių, greičiausiai pakaks verpalų arba NPM. Tačiau jei dirbate su dideliais projektais su daugybe modulių ir priklausomybių, PNPM gali būti jums geresnis pasirinkimas.
Kelių paketų tvarkytuvų naudojimo pranašumai
Vieno paketo tvarkyklė vienu metu gali apdoroti tik vieną bet kurios bibliotekos versiją. Jei norite naudoti dvi skirtingas tos pačios bibliotekos versijas kitiems projektams arba skirtingose aplinkose (pavyzdžiui, gamybos ar kūrimas), tada jūsų sistemoje reikės įdiegti du atskirus paketus.
Dėl to gali kilti konfliktų, jei abu paketai vienu metu bandys atnaujinti savo tos pačios priklausomybės versiją. Kelių paketų tvarkyklių naudojimas reiškia, kad galite geriau valdyti, kurios priklausomybės yra įdiegtos ir kur padeda išvengti tokių konfliktų.
Kitas privalumas yra tai, kad naudojant kelias paketų tvarkykles, kiekviena iš jų suteiks savo unikalų funkcijų rinkinį. Kai kurie gali būti greitesni už kitus; kai kurie gali turėti geresnes priklausomybės valdymo galimybes; kiti gali būti labiau tinkami kuriant programas tam tikrose sistemose, tokiose kaip ReactJS ar VueJS ir kt.
Galiausiai, kelių paketų tvarkytuvų naudojimas gali padėti pagerinti kūrėjo produktyvumą, nes sutrumpėja priklausomybių paieška ir diegimas. Taip yra todėl, kad kiekviena paketų tvarkyklė bus sukurta atsižvelgiant į konkrečius naudojimo atvejus (pavyzdžiui, greitis vs. saugumas vs. priklausomybės valdymas ir pan...).
Naudokite kelis paketų tvarkytuvus, įdiegdami juos visame pasaulyje
Naudodami komandinę eilutę galite nurodyti, kurią paketo tvarkyklę norite naudoti konkrečiam projektui. Įrenginyje nustatykite kelias paketų tvarkykles:
- NPM yra supakuotas su „Node“. Tai leis jums įdiegti kitus paketus (ir paketų tvarkykles) iš komandinės eilutės ir valdyti visų projektų priklausomybes naudodami NPM. Tai taip pat naudinga, jei norite paleisti NPM scenarijus naršyklėje (pvz., Webpack), nes naršyklėse nėra iš anksto įdiegto NPM!
- Įdiekite „Yarn“ visame pasaulyje, taip pat naudodami NPM. Tai dar viena populiari „JavaScript“ projektų priklausomybių valdymo parinktis; ji turi tam tikrų pranašumų, palyginti su NPM, todėl gali būti tinkama tam tikrų tipų projektams ar komandoms
- Galiausiai įdiekite PNPM. Ši paketų tvarkyklė yra NPM šakutė, sukurta taip, kad būtų greitesnė ir stabilesnė. Jame taip pat yra keletas papildomų funkcijų, kurios gali būti naudingos kai kurių tipų projektams, pvz., „GitHub“ priklausomybių palaikymas.
Atminkite, kad visuotinis diegimas reiškia, kad pasirinktas paketas bus prieinamas visai jūsų sistemai (galite pasiekti programą bet kur naudodami komandinę eilutę), o vietinį diegimą gali pasiekti tik dabartinis darbas katalogas.
Realūs pavyzdžiai, kaip galite naudoti kelis paketų tvarkytuvus
Patikrinkite šiuos naudojimo būdus:
1. Verpalai ir NPM gali būti naudojami kartu (pvz. kurti-reaguoti-programėlę)
Tai naudinga, kai norite išnaudoti verpalų greitį ir efektyvumą, kartu išlaikant suderinamumą su NPM paketais. Jei jums reikia naujausios bibliotekos versijos, kuri dar nebuvo atnaujinta, kad būtų suderinama su „Yarn“, arba jei yra kita priežastis kodėl jūsų komanda verčiau pasiliks prie NPM, nepaisant lėtesnio greičio ar riboto funkcijų rinkinio, tai gali būti naudinga jūsų atveju projektą. Tai taip pat padeda išvengti dviejų atskirų priklausomybės medžių jūsų mono atpirkimo sąrankoje!
2. Verpalų naudojimas visuotiniams paketams ir PNPM vietiniams įrengimams
Nors PNPM yra greičiausia paketų tvarkyklė, ją gali būti sudėtinga naudoti visame pasaulyje įdiegtiems paketams. Taip yra todėl, kad ji naudoja skirtingą failų struktūrą, kuri gali sukelti suderinamumo su programomis, pvz., „Visual Studio Code“, problemų. Čia atsiranda verpalai. Jį galite naudoti savo globaliai įdiegtiems paketams, o PNPM – vietiniams diegimams. Šis sprendimas yra geras būdas pasinaudoti abiejų paketų tvarkyklių pranašumais, per daug nekeičiant darbo eigos. Naudodami šią sąranką (jei norite tapti laukiniu) galite visiškai pašalinti NPM iš savo sistemos (tačiau visada malonu turėti NPM kaip atsarginę kopiją).
3. PNPM naudojimas su NPM kaip atsarginė priemonė
Tai gera galimybė apsvarstyti, jei norite naudoti PNPM, bet nenorite, kad visi kūrėjai dar turėtų išmokti naujo įrankio. Tai leidžia jiems tęsti darbą su NPM, kol jie bus patenkinti PNPM ir to prireiks darbui.
Naudojant kelis paketų tvarkytuvus viskas tampa lengviau
Galite naudoti kelias paketų tvarkykles. Galite įdiegti juos globaliai arba lokaliai, o jei norite nurodyti, kuris paketų tvarkytuvas turi būti naudojamas konkrečiam projektui, tiesiog naudokite komandinę eilutę!
Jei savo sistemoje norite įdiegti kelias paketų tvarkykles, įsitikinkite, kad naudojate tą pačią Node.js versiją.
Apibendrinant, manome, kad turėtumėte naudoti daugiau nei vieną paketų tvarkyklę. Tai puikus būdas pradėti naudotis „Node“ ir išmokti naujų įrankių, jei jau esate susipažinę su NPM. Jei dar nesate įdiegę „Node“, sąranka sistemoje „Windows“ yra paprasta.