Chciałem krótko opisać sposoby instalacji modułów jak i opowiedzieć o tym jak przygotować paczkę z informacjami o naszej aplikacji, którą będzie można łatwo przenieść na inny serwer i nie martwić się o potrzebne zewnętrzne moduły.
Instalacja paczek
Generalnie w Node.js wyróżniamy dwa rodzaje instalacji zewnętrznych modułów: lokalnie i globalnie.
Zacznijmy zatem od prostego przykładu. Stwórzmy sobie katalog first_application i zainstalujmy w nim moduł obsługi bazy danych mysql.
mkdir first_application
cd first_application
npm install db-mysql
Te polecenia spowodują iż w katalogu first_application utworzy się katalog node_modules, a w nim db-mysql, w którym to będą pliki naszego modułu. Dzięki temu potrzebny katalog tworzy się w katalogu aplikacji i można go przenosić. Oczywiście cały moduł jest pobierany bezpośrednio ze źródeł, także wymaga to dostępu do internetu.
Inną metodą instalacji modułów jest instalacja globalna. Polega ona na zainstalowaniu modułu w katalogu modułów aplikacji Node.js, niestety taka operacja może wymagać wyższych uprawnień w systemie, gdyż będzie potrzebne utworzenie katalogów w plikach systemowych. Procedura instalacji wygląda następująco:
sudo npm install -g db-mysql
Jeśli teraz zajdzie potrzeba wykorzystania modułu w naszym projekcie to wystarczy wydać polecenie:
npm link db-mysql
i już w naszym projekcie pojawi się podlinkowanie pod globalnie zainstalowany moduł. Takie podlinkowanie nie wymaga byśmy byli podłączeni do internetu, raz zainstalowany moduł jest już dostępny.
Tworzenie paczki z naszej apliakcji
Załóżmy, że mamy prostą aplikację, która wymaga dwóch modułów: db-mysql i websocket. Tworzymy wówczas plik package.json
{
"name": "websocket-server",
"description": "Web Socket client",
"version": "0.0.1",
"private": true,
"dependencies": {
"websocket": "*",
"db-mysql": "*"
}
}
w którym podajemy nazwę i opis naszej aplikacji, jej wersję, a także, co jest istotne wszystkie zależności od zewnętrznych modułów dependecies. Dzięki temu po przeniesieniu naszej aplikacji na środowisko produkcyjne możemy łatwo zainstalować dodatkowe moduły, mając gwarancję, że o niczym nie zapomnimy. Po stworzeniu takiego pliku wystarczy wydać polecenie
npm install
i odpowiednie moduły zostaną pobrane.