Yksi Noden parhaista ominaisuuksista on pakettien hallinta. Solmupaketteja voidaan asentaa ja hallita monella eri tavalla. Tässä tarkastellaan yhden paketinhallinnan tai useamman paketinhallinnan käytön etuja ja haittoja sekä joitakin parhaista tavoista käyttää niitä yhdessä.
Mitä paketinhallintaa kysyt? Lue lisää saadaksesi selville.
Mitä ovat pakettipäälliköt?
Ohjelmistokehitysmaailmassa riippuvuudet ovat mitä tarvitset projektisi suorittamiseen. Ne ovat kuin reseptin ainesosia: ilman niitä ei tapahdu mitään.
Jos esimerkiksi kirjoitat sovellusta, joka käyttää JavaScriptiä, ja se haluaa käyttää joitain toimintoja kirjasto nimeltä jQuery (jota monet verkkosivustot käyttivät kerran), jQuery on yksi riippuvuuksistasi. Sinun on asennettava se, jotta kun joku vierailee sivustollasi, hän näkee ne upeat animaatiot tai vuorovaikutukset, jotka olet luonut sillä!
Paketinhallinnat auttavat hallitsemaan näitä projektien välisiä suhteita hallitsemalla riippuvuuksia puolestamme, joten meidän ei tarvitse huolehtia niiden manuaalisesta lataamisesta itse joka kun haluamme jotain uutta lisättäväksi tai päivitettäväksi – he myös varmistavat, että kaikki toimii oikein ja sujuvasti asennuksen jälkeen (mikä on joskus helpompi sanoa kuin tehty).
Node toimitetaan valmiiksi pakattuna NPM-nimisen Package Managerin kanssa
NPM on oletusarvoinen paketinhallinta, ja sellaisenaan se on sisäänrakennettu solmun suoritustilaan. Voit käyttää NPM: ää pakettien asentamiseen GitHubista tai NPM suoraan. Voit myös julkaista pakettisi tälle sivustolle, jotta muut voivat asentaa ne käyttämällä NPM-versiota.
NPM: ää ei käytetä vain pakettien asentamiseen; se myös käsittelee riippuvuuden ratkaisua ja versioristiriitoja kahden tai useamman vaaditun kirjaston tai moduulin välillä sovelluskoodikannassa.
Tämä tarkoittaa, että jos jostain vastaavasta on useita versioita Express käynnissä palvelimellasi NPM varmistaa milloin tahansa, että jokainen esiintymä saa tarvitsemansa ilman ristiriitaa muut tapaukset tekevät samanlaista työtä - ja kaikki ilman, että sinun tarvitsee tehdä mitään erityistä yksinkertaisen lisäksi kutsumus vaatia() esineelle tarvittaessa!
NPM on uskomattoman tehokas työkalu, ja sen käytön aloittaminen on helppoa. Mutta jos olet uusi Noden ja JavaScriptin käytössä, voi olla haastavaa tietää, mitä työkaluja on käytettävissäsi – ja mitkä niistä ovat parhaat tiettyyn projektiin.
NPM: n suurin ongelma on, että pakettien asentaminen on hidasta. Tämä ei ole suuri asia, jos käytät vain satunnaista käsikirjoitusta tai paria, mutta se voi olla uskomatonta turhauttavaa, jos yrität rakentaa kokonaisen sovelluksen, joka käyttää kymmeniä erilaisia kirjastoja ja työkaluja.
Lanka ja PNPM ovat nopeampia kuin NPM
Lanka on turvallinen ja luotettava vaihtoehto NPM: lle, joka käyttää lukitustiedostoa estämään vahingossa tapahtuvat ylikirjoitukset ja varmistaa, että riippuvuutesi ratkaistaan oikein paketteja asennettaessa.
Sillä on myös nopeampi asennusaika kuin NPM: llä, mikä tekee siitä erityisen hyödyllisen, jos työskentelet suurissa projekteissa, joissa on monia moduuleja ja paljon riippuvuuksia.
PNPM on vaihtoehto sekä Yarnille että NPM: lle, mutta se ei ole vielä yhtä suosittu, koska siinä ei ole joitain kummankaan ominaisuuksista (kuten lukitustiedostot). Sen kehittäjät kuitenkin väittävät, että PNPM voi asentaa paketteja jopa neljä kertaa nopeammin kuin Yarn tai NPM kevyen luonteensa ansiosta; tämä tarkoittaa myös vähemmän levytilan käyttöä tietokoneellasi!
Jos rakennat projektia, joka vaatii vain kourallisen riippuvuuksia, Lanka tai NPM todennäköisesti riittää. Jos kuitenkin työskentelet suurten projektien kanssa, joissa on monia moduuleja ja riippuvuuksia, PNPM voi olla sinulle parempi vaihtoehto.
Useiden paketinhallintaohjelmien käytön edut
Yksi paketinhallinta voi käsitellä vain yhtä versiota tietystä kirjastosta kerrallaan. Jos haluat käyttää kahta eri versiota samasta kirjastosta muissa projekteissa tai eri ympäristöissä (esimerkiksi tuotanto vs. kehitys), tarvitset järjestelmääsi kaksi erillistä pakettia.
Tämä voi johtaa ristiriitaan, jos molemmat paketit yrittävät päivittää saman riippuvuuden versionsa samanaikaisesti. Useiden paketinhallintaohjelmien käyttäminen tarkoittaa, että voit hallita paremmin, mitkä riippuvuudet asennetaan ja mikä auttaa välttämään tällaiset ristiriidat.
Toinen etu on, että kun käytetään useita paketinhallintaohjelmia, jokainen tarjoaa omat ainutlaatuiset ominaisuudet. Jotkut voivat olla nopeampia kuin toiset; joillakin saattaa olla paremmat riippuvuuden hallintaominaisuudet; toiset saattavat sopia paremmin sovellusten kehittämiseen tietyissä kehyksissä, kuten ReactJS tai VueJS jne.
Lopuksi useiden paketinhallintaohjelmien käyttö voi parantaa kehittäjän tuottavuutta vähentämällä riippuvuuksien etsimiseen ja asentamiseen kuluvaa aikaa. Tämä johtuu siitä, että jokainen paketinhallinta suunnitellaan tietyt käyttötapaukset huomioon ottaen (esimerkiksi nopeus vs. turvallisuus vs. riippuvuuden hallinta jne...).
Käytä useita paketinhallintaohjelmia asentamalla ne maailmanlaajuisesti
Komentorivillä voit määrittää, mitä paketinhallintaa haluat käyttää tietyssä projektissa. Määritä useita paketinhallintaohjelmia koneellesi:
- NPM toimitetaan valmiiksi pakattuna Noden kanssa. Tämän avulla voit asentaa muita paketteja (ja paketinhallintaohjelmia) komentoriviltä ja hallita riippuvuuksia kaikissa projekteissasi NPM: n avulla. Se on hyödyllistä myös, jos haluat suorittaa NPM-komentosarjat selaimessa (esim. Webpack), koska selaimissa ei ole esiasennettuna NPM: ää!
- Asenna Lanka maailmanlaajuisesti myös NPM: n avulla. Tämä on toinen suosittu vaihtoehto riippuvuuksien hallintaan JavaScript-projektien sisällä. sillä on joitain etuja NPM: ään verrattuna, mikä saattaa tehdä siitä paremman tietyntyyppisissä projekteissa tai ryhmissä
- Asenna lopuksi PNPM. Tämä paketinhallinta on NPM: n haarukka, joka on suunniteltu nopeammaksi ja vakaammaksi. Siinä on myös joitain lisäominaisuuksia, jotka voivat olla hyödyllisiä tietyntyyppisille projekteille, kuten tuki GitHubin riippuvuuksille.
Huomaa, että yleinen asennus tarkoittaa, että valittu paketti on koko järjestelmäsi käytettävissä (voit käyttää ohjelma minne tahansa komentorivin kautta), kun taas paikalliseen asennukseen pääsee vain nykyinen työ hakemistosta.
Tosimaailman esimerkkejä siitä, kuinka voit käyttää useita paketinhallintaohjelmia
Tutustu näihin käyttötarkoituksiin:
1. Lankaa ja NPM: ää voidaan käyttää yhdessä (esim. luo-reagoi-sovellus)
Tästä on hyötyä, kun haluat hyödyntää langan nopeutta ja tehokkuutta säilyttäen samalla yhteensopivuuden NPM-pakettien kanssa. Jos tarvitset kirjaston viimeisimmän version, jota ei ole vielä päivitetty yhteensopiviksi Yarnin kanssa, tai jos siihen on jokin muu syy miksi tiimisi mieluummin pitäytyisi NPM: ssä sen hitaamasta nopeudesta tai rajoitetuista ominaisuuksista huolimatta, tämä saattaa toimia sinulle hyvin hanke. Se auttaa myös välttämään kahden erillisen riippuvuuspuun monorepo-asetuksissasi!
2. Langan käyttäminen globaaleihin pakkauksiin ja PNPM: n käyttäminen paikallisiin asennuksiin
Vaikka PNPM on nopein paketinhallinta, sen käyttö globaalisti asennetuissa paketeissa voi olla hankalaa. Tämä johtuu siitä, että se käyttää erilaista tiedostorakennetta, mikä voi aiheuttaa yhteensopivuusongelmia ohjelmien, kuten Visual Studio Coden, kanssa. Tässä lanka tulee sisään. Voit käyttää sitä globaalisti asennetuissa paketeissasi ja PNPM: ää paikallisissa asennuksissa. Tämä ratkaisu on hyvä tapa saada hyödyt kummastakin paketinhallinnasta ilman, että sinun tarvitsee muuttaa työnkulkuasi liikaa. Tällä asetuksella – jos haluat villiä – voit poistaa NPM: n järjestelmästäsi kokonaan (mutta on aina mukavaa, että NPM on varmuuskopio).
3. PNPM: n käyttö NPM: n kanssa varavaihtoehtona
Tämä on hyvä vaihtoehto, jos haluat käyttää PNPM: ää, mutta et halua, että kaikkien kehittäjien on vielä opittava uusi työkalu. Sen avulla he voivat jatkaa työskentelyä NPM: n kanssa, kunnes he ovat tottuneet PNPM: ään ja tarvitsevat sitä työhönsä.
Useiden paketinhallintaohjelmien käyttö helpottaa asioita
Voit käyttää useita paketinhallintaohjelmia. Voit asentaa ne globaalisti tai paikallisesti, ja jos haluat määrittää, mitä paketinhallintaa käytetään tietyssä projektissa, käytä komentoriviä!
Jos haluat asentaa järjestelmääsi useita paketinhallintaohjelmia, varmista, että käytät samaa Node.js-versiota.
Lopuksi katsomme, että sinun pitäisi käyttää useampaa kuin yhtä paketinhallintaa. Se on loistava tapa aloittaa Noden käyttö ja myös oppia uusia työkaluja, jos olet jo perehtynyt NPM: ään. Jos sinulla ei ole vielä Nodea asennettuna, asennus on helppoa Windowsissa.