2015-04-09 3 views
13

Мы можем получить доступ к локальному модулю с использованием , для чего требуется функция, но через него невозможно получить доступ к глобальному модулю. Я где-то читал, что для использования глобального модуля нам нужно сделать его локальным, а затем импортировать через функцию require. Итак, если мы не можем напрямую обращаться к глобальному модулю, то в чем его необходимость.В чем разница между локальным и глобальным модулем в Node.js? Когда использовать локальный и глобальный модуль?

+0

Как выглядит ваш код? – icelava

ответ

18

Вы должны:

  • Установите модуль локально, если вы собираетесь требовать() его.
  • Установите модуль по всему миру, если вы собираетесь запустить его в командной строке.
+1

Спасибо за ваш ответ. Можете ли вы дать небольшой пример запуска глобально установленного модуля через командную строку. – Badal

+1

Лично я использую 'nodemon', установленный как глобальный модуль (' npm install -g nodemon') для запуска сервера и автоматического перезапуска его при изменении исходного кода (идеально подходит для разработки). Таким образом, в этом случае вместо, например, 'node server.js' Я выполняю' nodemon server.js';) –

+1

Еще раз спасибо за ваш ответ tomrac. Но это специфическое использование глобального модуля. Не могли бы вы рассказать мне об общем использовании? – Badal

1

Общее использование глобального узлового модуля на мой опыт будет:

Если все мои приложения, которые используют тот же модуль узла (ту же версию, или я не волную, какую версию, последнее отлично подходит для me), то I будет устанавливать этот узел-модуль по всему миру. Одним хорошим примером является примерный модуль, который я использую для тестирования - например, мокко.

+1

Есть ли способ доступа к глобальному узловому модулю. Если нет, то нет причин для его установки. Если да, то как я его буду использовать? – Badal

+1

Конечно, вы можете получить к нему доступ, иначе зачем устанавливать их, я думаю, что tomarc уже объясняет некоторые способы использования. – hohoho

2

Я думаю, по моему мнению, модули, которые вы собираетесь требовать в вашем коде должны быть локальными для вашего проекта или вы можете сказать, должны присутствовать в каталоге node_modules

и модулей, который работает как команда должна устанавливаться глобально. примерами являются exress-generator, jsdocs, mocha

Смежные вопросы