Grunt.js: что означает -save-dev в npm install grunt –save-dev

Я только начал использовать Grunt.js . Это довольно сложно настроить, и я собираюсь создать файл package.json .

Следуя этому руководству , он говорит, что есть 3 способа создания файла package.json .

Первое – сделать npm install grunt --save-dev

Но что означает --save-dev ? Я пробовал смотреть, но это заканчивается напрасно.

–save-dev: пакет появится в ваших devDependencies.

В соответствии с документами npm install .

Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то, вероятно, они не хотят или не должны загружать и создавать внешние тестовые или документационные frameworks, которые вы используете.

Другими словами, при запуске npm install будут установлены devDependencies вашего проекта, но dev_зависимости для любых пакетов, от которых зависит ваше приложение, не будут установлены; кроме того, другим приложениям, имеющим ваше приложение в качестве зависимости, не нужно устанавливать ваши devDependencies. Такие модули нужны только при разработке приложения (например, grunt, mocha и т. Д.).

Согласно документам package.json .

Изменить. Попытайтесь визуализировать, что делает npm install :

  • yourproject
    • установлена ​​зависимость
      • dependecy установлен
        • dependecy установлен
        • Не установлено devDependency
      • Не установлено devDependency
    • Установлена ​​devDependency
      • dependecy установлен
      • Не установлено devDependency

Существуют (по крайней мере) два типа зависимостей пакетов, которые вы можете указать в файлах package.json:

  1. Те пакеты, которые необходимы для использования вашего модуля, перечислены в разделе «Свойства зависимостей». Используя npm, вы можете добавить эти зависимости в файл package.json таким образом:

     npm install --save packageName 
  2. Эти пакеты, необходимые для разработки вашего модуля, перечислены в разделе «devDependencies». Эти пакеты не нужны другим, чтобы использовать модуль, но если они хотят помочь в разработке модуля, эти пакеты понадобятся. Используя npm, вы можете добавить эти devDependencies в ваш файл package.json следующим образом:

     npm install --save-dev packageName 

Чтобы добавить ответ Андреасу, поскольку я еще не могу прокомментировать, вы можете установить только зависимости, используя: npm install --production

Документация из npm для npm install --save и npm install --save-dev можно найти здесь:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

Файл package.json объявляет метаданные о модуле, который вы разрабатываете. Обе вышеупомянутые команды изменяют этот файл package.json . --save объявит установленный пакет (в данном случае, grunt ) как зависимость для вашего модуля; --save-dev объявит его как зависимость для разработки вашего модуля.

Спросите себя: будет ли установлен установленный пакет для использования моего модуля, или это потребуется только для его разработки?

Когда вы используете параметр «–save», ваша зависимость войдет внутрь # 1 в package.json. Когда вы используете параметр «–save-dev», ваша зависимость войдет внутрь # 2 в package.json.

1) «зависимости»: эти пакеты требуются вашей заявкой на производстве.

2) «devDependencies»: эти пакеты необходимы только для разработки и тестирования

  • Есть ли способ получить версию из package.json в коде nodejs?
  • Browserify - вызов функции, связанной с файлом, созданным с помощью браузера в браузере
  • Что такое опция -save для установки npm?
  • «Npm install» устанавливает все зависимости в каталоге node_modules, вместо того, чтобы иметь вложенные
  • узел 5.5.0 уже установлен, но node -v выбирает «v4.2.1» на OS X и homebrew?
  • команда bower не найдена
  • Установите зависимости глобально и локально с помощью package.json
  • Как использовать модули npm из машинописного текста?
  • npm install не работает
  • npm ошибки установки с ошибкой: ENOENT, chmod
  • Локальная зависимость в package.json
  • Давайте будем гением компьютера.