2014-12-09 2 views
3

Я запутался в процессе установки npm. Из того, что я понимаю, что есть некоторые различные варианты для меня при установке модулей:Является ли npm install --save-dev gulp-uglify отличается от npm install gulp-uglify

  • опция -g, которая хранит модули глобально
  • --save-DEV
  • без аргументов.

Может кто-нибудь объяснить, в чем отличия? В частности, когда я делаю a -g (глобальный), а другой - локально, он получает модули из того места, где я сохранил его по всему миру?

Также, что это означает: «--save: пакет появится в ваших зависимостях».

В каких отношениях он говорит?

ответ

4

Хорошо. Так что вещь:

  1. Если вы хотите установить зависимость локально, а затем запустить: npm install gulp-uglify, и это создаст папку с именем node_modules, в котором вы найдете нужный модуль.
  2. Если вместо этого вы хотите установить пакет по всему миру, вам необходимо запустить: npm install -g gulp-uglify, который будет выделять пакет в вашей ОС, и вы сможете использовать его в любом месте (не только в этой папке).
  3. Опция --save-dev (которая будет npm install --save-dev gulp-uglify) также обновит ваш файл package.json, и она будет добавлена ​​как зависимость от разработчика, которая является вашим манифестом приложения. Это означает, что в этом файле вы объявите все зависимости, которые вам понадобятся в вашем проекте, и они будут установлены только путем запуска npm install. Чтобы создать файл package.json, вам нужно запустить npm init.

Дополнительная информация может быть найдена here. Или это другое post. Надеюсь, это поможет!

2

-g помещает модуль в ваш глобальный каталог node_modules. Они доступны из любого каталога (следовательно, глобального)

--save-dev обновляет файл package.json, чтобы включить модуль в качестве зависимости от разработчика. Они загружаются в локальную папку node_modules для каталога.

Никакой аргумент сохранения не обновляет файл package.json, чтобы включить его в качестве зависимости. Они также загружаются в локальную папку node_modules для каталога.

devDependencies и зависимости имеют последствия, когда кто-то хочет установить ваш проект (через установку npm). Например, npm install будет устанавливать все зависимости и devDependencies. npm install --production не будет устанавливать devDependencies.

Таким образом, вы должны использовать -save-dev, когда импортируемый модуль узла используется для целей разработки, а не для выполнения (например, jshint для сборки). Модули, необходимые для запуска приложения, не должны использовать переключатель -save-dev.