Node.js
Jak ładowane są moduły
Szukaj…
Tryb globalny
Jeśli Node został zainstalowany przy użyciu domyślnego katalogu, w trybie globalnym, NPM instaluje pakiety w /usr/local/lib/node_modules
. Jeśli wpiszesz następujące polecenie w powłoce, NPM wyszuka, pobierze i zainstaluje najnowszą wersję pakietu o nazwie sax w katalogu /usr/local/lib/node_modules/express
:
$ npm install -g express
Upewnij się, że masz wystarczające prawa dostępu do folderu. Moduły te będą dostępne dla wszystkich procesów węzłowych, które będą działały na tym komputerze
W trybie lokalnym instalacja. Program Npm załaduje i zainstaluje moduły w bieżących folderach roboczych, tworząc nowy folder o nazwie node_modules
na przykład jeśli jesteś w /home/user/apps/my_app
zostanie utworzony nowy folder o nazwie node_modules
/home/user/apps/my_app/node_modules
jeśli jeszcze nie istnieje
Ładowanie modułów
Kiedy odsyłamy moduł do kodu, węzeł najpierw sprawdza folder node_module
folderze, do którego node_module
odwołanie, w wymaganej instrukcji. Jeśli nazwa modułu nie jest względna i nie jest modułem podstawowym, Node spróbuje znaleźć go w folderze node_modules
w bieżącym informator. Na przykład, jeśli wykonasz następujące czynności, Węzeł spróbuje wyszukać plik ./node_modules/myModule.js
:
var myModule = require('myModule.js');
Jeśli węzeł nie znajdzie pliku, zajrzy do folderu nadrzędnego o nazwie ../node_modules/myModule.js
. Jeśli znowu się nie powiedzie, spróbuje otworzyć folder nadrzędny i będzie się obniżać, aż dojdzie do katalogu głównego lub znajdzie wymagany moduł.
Możesz także pominąć rozszerzenie .js
jeśli chcesz, w takim przypadku węzeł doda rozszerzenie .js
i wyszuka plik.
Ładowanie modułu folderów
Możesz użyć ścieżki do folderu, aby załadować moduł w następujący sposób:
var myModule = require('./myModuleDir');
Jeśli to zrobisz, Węzeł przeszuka ten folder. Węzeł zakłada, że ten folder jest pakietem i spróbuje poszukać definicji pakietu. Ta definicja pakietu powinna być plikiem o nazwie package.json
. Jeśli ten folder nie zawiera pliku definicji pakietu o nazwie package.json
, punkt wejścia pakietu przyjmie domyślną wartość index.js
, aw tym przypadku Węzeł wyszuka plik pod ścieżką ./myModuleDir/index.js
.
Ostatnim rozwiązaniem, jeśli moduł nie zostanie znaleziony w żadnym z folderów, jest globalny folder instalacyjny modułu.