Поиск…


Глобальный режим

Если вы установили узел с использованием каталога по умолчанию, а в глобальном режиме, NPM устанавливает пакеты в /usr/local/lib/node_modules . Если вы введете следующее в оболочке, NPM будет искать, загружать и устанавливать последнюю версию пакета с именем sax внутри каталога /usr/local/lib/node_modules/express :

$ npm install -g express

Убедитесь, что у вас есть достаточные права доступа к папке. Эти модули будут доступны для всех процессов узла, которые будут работать на этом компьютере

В локальном режиме установки. Npm загрузит и установит модули в текущие рабочие папки, создав новую папку node_modules например, если вы находитесь в /home/user/apps/my_app создана новая папка, называемая node_modules /home/user/apps/my_app/node_modules если его еще не существует

Загрузочные модули

Когда мы ссылаемся на модуль в коде, узел сначала ищет папку node_module внутри указанной папки в требуемом заявлении. Если имя модуля не является относительным и не является основным модулем, Node будет пытаться найти его внутри папки node_modules в текущем каталог. Например, если вы выполните следующее, Node попытается найти файл ./node_modules/myModule.js :

var myModule = require('myModule.js');

Если Node не сможет найти файл, он будет выглядеть внутри родительской папки с именем ../node_modules/myModule.js . Если он не сработает снова, он попробует родительскую папку и продолжит спускаться до тех пор, пока не достигнет корня или не найдет необходимый модуль.

Вы также можете опустить расширение .js если хотите, и в этом случае узел добавит расширение .js и будет искать файл.

Загрузка модуля папок

Вы можете использовать путь к папке для загрузки модуля следующим образом:

var myModule = require('./myModuleDir');

Если вы это сделаете, узел будет искать внутри этой папки. Узел предположит, что эта папка представляет собой пакет и попытается найти определение пакета. Это определение пакета должно быть файлом с именем package.json . Если в этой папке не содержится файл определения пакета с именем package.json , точка ввода пакета будет принимать значение по умолчанию index.js , а в этом случае Node будет искать файл по пути ./myModuleDir/index.js .

Последнее, если модуль не найден ни в одной из папок, это папка установки глобального модуля.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow