Articles

mikä on npm?

2011-08-26

npm on kaksi asiaa: ennen kaikkea se on avoimen lähdekoodin solmun julkaisemiseen tarkoitettu Verkkovarasto.js-projektit; toiseksi, se on komentorivityökalu vuorovaikutuksessa mainitun arkiston kanssa, joka auttaa paketin asennuksessa, versionhallinnassa ja riippuvuuksien hallinnassa. Lukuisia solmuja.js-kirjastot ja sovellukset julkaistaan npm: ssä, ja niitä lisätään paljon lisää joka päivä. Näitä sovelluksia voi hakea osoitteesta https://www.npmjs.com/. Kun haluat asentaa paketin, se voidaan asentaa yhdellä komentorivikomennolla.

sanotaan, että olet jonain päivänä ahkera ja kehität seuraavaa suurta sovellusta. Törmäät ongelmaan ja päätät, että on aika käyttää sitä siistiä kirjastoa, josta kuulet jatkuvasti – käytetään esimerkkinä Caolan McMahonin async-kirjastoa. Onneksi npm on hyvin helppokäyttöinen: sinun tarvitsee vain ajaa npm install async, ja määritetty moduuli asennetaan nykyiseen hakemistoon alle ./node_modules/. Kun olet asentanut node_modules-kansioon, voit käyttää require() niitä aivan kuin ne olivat sisäänrakennettuja.

katsotaanpa esimerkkiä globaalista asennuksesta – sanotaan coffee-script. Npm-komento on yksinkertainen: npm install coffee-script -g. Tämä tyypillisesti asentaa ohjelman ja laittaa siihen symbolin /usr/local/bin/. Tämän jälkeen voit suorittaa ohjelman konsolista aivan kuten mikä tahansa muu CLI-työkalu. Tällöin ajettaessa coffee voit nyt käyttää coffee-script-toistoa.

toinen tärkeä käyttökohde npm: lle on riippuvuuden hallinta. Kun sinulla on solmuprojekti, jossa on paketti.json-tiedosto, voit ajaa npm install projektin juuresta ja npm asentaa kaikki paketissa luetellut riippuvuudet.json. Tämä tekee asentamisesta solmun.JS projekti git repo paljon helpompaa! Esimerkiksi vows, solmu.js-testauskehys, voidaan asentaa git: stä, ja sen yksittäinen riippuvuus, eyes, voidaan käsitellä automaattisesti:

esimerkki:

git clone https://github.com/cloudhead/vows.gitcd vowsnpm install

näiden komentojen suorittamisen jälkeen näet node_modules kansion, joka sisältää kaikki paketissa määritellyt projektin riippuvuudet.json.