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?
  • Как включить скрипты, расположенные внутри папки node_modules?
  • Как использовать сторонние пакеты npm с приложением ember cli
  • npm install -g karma error MSB4019: импортированный проект «C: \ Microsoft.Cpp.Default.props» не найден
  • Bower: «команда не найдена» после установки
  • Использование npm за корпоративным прокси .pac
  • Локальная зависимость в package.json
  • Как установить npm в указанный каталог?
  • В чем смысл префикса «at» (@) для пакетов npm?
  • npm WARN notsup ПРОПУСТИТЬ ДОПОЛНИТЕЛЬНАЯ ЗАВИСИМОСТЬ: Неподдерживаемая платформа для [email protected]
  • Не удалось установить пакет npm "npm ERR! errno -4048 "
  • Давайте будем гением компьютера.