NPM - okładka

Podstawy pracy z npm

Czym jest npm?

Npm jest menedżerem pakietów dla języka JavaScript. Pakiety te są tworzone przez społeczność a ich liczba w momencie pisania tego artykułu wynosiła około 700 000. Alternatywą dla npm jest Yarn, jednakże nigdy go nie używałem, więc nie będę się o nim wypowiadał.

Instalacja

Instalacja npm jest banalna. Wchodzimy na stronę nodejs.org i pobieramy Node.js – menedżer pakietów jest domyślnie dystrybuowany właśnie z nim. Po przeklikaniu instalatora uruchamiamy terminal i wpisujemy polecenia: node -v oraz npm -v. W rezultacie powinniśmy otrzymać aktualnie zainstalowane wersje node.js oraz npm. W przeciwnym razie coś zrobiliśmy źle i należy zainstalować node.js ponownie.

 

npm - nowy projekt

 

Tworzenie nowego projektu

Aby stworzyć nowy projekt korzystamy z polecenia npm init. Następnie podajemy nazwę projektu, wersję, opis, entry point, komendę do testów, link do repozytorium, słowa kluczowe oraz licencję. Następnie otrzymujemy podgląd a konfigurator pyta się czy wszystko jest wpisane poprawnie. Alternatywnie możemy skorzystać z flagi --yes, która sprawia, że tworzony jest plik z domyślnymi parametrami.

Po zatwierdzeniu w naszym folderze z projektem zostaje stworzony plik package.json. Jest to plik konfiguracyjny naszego projektu. Powinien on wyglądać mniej więcej tak:

npm - package.json

Jak widzicie znajduje się tu pole z autorem, którego wcześniej nie podałem. Część z danych, które zazwyczaj będą takie same możemy ustawić domyślnie. Te dane to: imię i nazwisko autora, email autora, strona www autora oraz licencja. Służą do tego następujące polecenia:

npm - domyślne wartości

Instalacja paczek

Kluczowym zagadnieniem tego artykułu są paczki. Paczki to biblioteki tworzone przez społeczność, które możemy pobrać i wykorzystać w naszym projekcie. Podstawą instalacji paczek jest polecenie npm install, a po nim nazwa paczki, bądź paczek. Istnieje też możliwość skorzystania ze skróconej wersji polecenia – słowo install zastępujemy literą i. Możemy jednym poleceniem zainstalować kilka paczek – wystarczy podać ich nazwy po spacji. Następnie przez odpowiednie flagi możemy wywoływać pożądane efekty i zależności. Paczki możemy instalować na kilka sposobów:

Pierwszy z nich to instalacja globalna. Oznacza to że taka paczka będzie dostępna globalnie, czyli w każdym projekcie. Wykonujemy to poprzez flagę --global lub skróconą wersję -g.

Drugi z nich to instalowanie z flagą --save, bądź skróconą wersją -S. Powoduje to dodanie paczki do “dependencies”, czyli do zależności, które będą wykorzystane w wersji produkcyjnej naszej aplikacji. Przykładową paczką jaką dodamy właśnie do zależności może być vue.

Trzecią opcją jest skorzystanie z flagi --save-dev lub skróconej wersji -D, co oznacza, że paczka zostanie zainstalowana jako zależność developerska. Zależności developerskie są to takie zależności, które nie będą wykorzystywane na produkcji. Na przykład taką zależnością może być webpack oraz niezbędne do niego loadery.

Oprócz tego w dokumentacji znajdziesz kilka innych sposobów na instalację paczek, niemniej jednak na sam początek nie będą Ci one potrzebne, a przynajmniej mi nie były 🙂

npm magazyn z paczkami

Aktualizacja i usuwanie paczek

Paczki w naszym projekcie możemy aktualizować poleceniem npm update.
Natomiast usuwanie paczek odbywa się za pomocą polecenia npm uninstall. Tutaj również możemy skorzystać z flag --save i --save-dev i ich skróconych alternatyw.

Lokalizacja paczek

Zainstalowane paczki zlokalizowane są w folderze node_modules. Zazwyczaj jest to największy i najcięższy folder w naszym projekcie. Node_modules nie umieszczamy ani na serwerze produkcyjnym, ani w repozytorium. Nie przejmuj się też rozmiarem tego folderu. Potrafi on mieć rozmiary kilkuset MB, a czasem nawet kilku GB.

Setup projektu

Jeśli pobierasz projekt na przykład z repozytorium na GitHub, to nie zawiera on folderu node_modules z paczkami. Paczki te należy zainstalować. Używamy do tego wcześniej już wspomnianego npm install, bez żadnych dodatkowych znaków. Spowoduje to zainstalowanie wszystkich paczek z pliku package.json.

Polecenia

W pliku package.json mamy możliwość definiowania poleceń. Dzięki temu za pomocą jednej komendy możemy wykonać cały szereg poleceń. Spójrz na przykład:

npm - package.json gotowy

Jak widzisz są tutaj 2 polecenia, które o wiele szybciej można wywołać dzięki wcześniejszemu zdefiniowaniu. Polecenia używamy korzystając z polecenia npm run, a potem nazwa polecenia.

Myślę, że w tym momencie jesteś gotów, aby stworzyć swój pierwszy projekt w  oparciu o npm! Jeśli masz jakieś uwagi, pytania lub wątpliwości napisz mi o tym w komentarzu!