Articles

co to jest npm?

2011-08-26

npm to dwie rzeczy: przede wszystkim jest to repozytorium online do publikowania węzła open-source.po drugie, jest to narzędzie wiersza poleceń do interakcji ze wspomnianym repozytorium, które pomaga w instalacji pakietów, zarządzaniu wersjami i zarządzaniu zależnościami. Mnóstwo węzłów.biblioteki i aplikacje js są publikowane na npm, a wiele innych jest dodawanych każdego dnia. Aplikacje te można wyszukiwać na https://www.npmjs.com/. Gdy już masz pakiet, który chcesz zainstalować, można go zainstalować za pomocą jednego polecenia wiersza poleceń.

powiedzmy, że pewnego dnia ciężko pracujesz, rozwijając kolejną świetną aplikację. Natkniesz się na problem i uznasz, że nadszedł czas, aby użyć tej fajnej biblioteki, o której ciągle słyszysz – użyjmy async Caolana McMahona jako przykładu. Na szczęście npm jest bardzo prosty w użyciu: wystarczy uruchomić npm install async, a podany moduł zostanie zainstalowany w bieżącym katalogu pod ./node_modules/. Po zainstalowaniu w folderzenode_modules będziesz mógł użyćrequire() na nich, tak jak były wbudowane.

spójrzmy na przykład globalnej instalacji – powiedzmycoffee-script. Polecenie npm jest proste: npm install coffee-script -g. To zazwyczaj zainstaluje program i umieści do niego dowiązanie symboliczne w /usr/local/bin/. To pozwoli Ci uruchomić program z konsoli, tak jak każde inne narzędzie CLI. W tym przypadku uruchomienie coffee pozwoli na użycie REPL skryptu coffee.

kolejnym ważnym zastosowaniem dla npm jest zarządzanie zależnościami. Gdy masz projekt węzła z pakietem.plik json, możesz uruchomić npm install z katalogu głównego projektu, a npm zainstaluje wszystkie zależności wymienione w pakiecie.json. To sprawia, że instalacja węzła.projekt js z repozytorium git o wiele łatwiejszy! Na przykład vows, węzeł.js Testing framework, może być zainstalowany z gita, a jego pojedyncza zależność, eyes, może być automatycznie obsługiwana:

przykład:

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

Po uruchomieniu tych poleceń, zobaczysznode_modules folder zawierający wszystkie zależności projektu określone w pakiecie.json.