Я только начал использовать Grunt.js . Это довольно сложно настроить, и я нахожусь в стадии создания package.json
файла.
После этого урока говорится, что есть 3 способа создать package.json
файл.
Первое, чтобы сделать npm install grunt --save-dev
Но что --save-dev
значит? Я пытался искать, но это тщетно.
Ответы:
Согласно npm установите документы .
Другими словами, при запуске
npm install
будут установлены devDependencies вашего проекта, но не будут установлены devDependencies для любых пакетов, от которых зависит ваше приложение; кроме того, другие приложения, имеющие ваше приложение в качестве зависимости, не должны устанавливать ваши devDependencies. Такие модули должны быть необходимы только при разработке приложения (например, grunt, mocha и т. Д.).В соответствии с package.json документами
Изменить: Попытаться визуализировать, что
npm install
делает:devDependency НЕ установленdevDependency НЕ установленdevDependency НЕ установленисточник
npm install --dev
флаг?npm install
, devDependencies проекта также будут установлены. Вам не нужно устанавливать devDependencies зависимости. Если вы хотите разработать пакет npm, вы быgit clone xxx
запустили этот проект и запустилиnpm install
его.npm install
в вашем проекте выполняется, все devDependencies в package.json будут установлены, но если вы упакуете свой проект как новый пакет npm и опубликуете его, когда кто-то еще установит ваш пакет с установкой npm, devDependencies не будет установлен в их системе. Это правильно? @stanzheng или вы можете запустить npm install --production, чтобы установить все в package.json, кроме dev-зависимостейСуществует (как минимум) два типа зависимостей пакетов, которые вы можете указать в файлах package.json:
Те пакеты, которые требуются для использования вашего модуля, перечислены в свойстве «зависимости». Используя npm, вы можете добавить эти зависимости в ваш файл package.json следующим образом:
Эти пакеты, необходимые для разработки вашего модуля, перечислены в свойстве devDependencies. Эти пакеты не нужны другим для использования модуля, но если они хотят помочь в разработке модуля, эти пакеты будут необходимы. Используя npm, вы можете добавить эти devDependencies в ваш файл package.json следующим образом:
источник
Чтобы добавить ответ Андреаса, вы можете установить только зависимости, используя:
источник
Документация от npm для
npm install <package-name> --save
иnpm install <package-name> --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»: эти пакеты нужны только для разработки и тестирования
источник
Для меня первый ответ кажется немного запутанным, поэтому, чтобы сделать его кратким и понятным:
npm install <package_name>
по умолчанию сохраняет все указанные пакеты в зависимости . Кроме того, вы можете контролировать, где и как они сохраняются с помощью некоторых дополнительных флагов:npm install <package_name> --no-save
Предотвращает сохранение в зависимости.npm install <package_name> ---save-dev
ОбновленияdevDependencies
в вашем пакете. Они используются только для локального тестирования и разработки.Вы можете прочитать больше на в Dcu
источник