Grunt js установка пакетов

Я создаю проект grunt javascript с grunt, и у меня есть файл package.json, который выглядит примерно так:

{
   ... name, author, etc here ...

   "dependencies": {
      "grunt-html":"0.2.1"
   }

 }

Я могу запустить npm install для установки grunt-html, и это работает отлично. Но когда я добавляю новые зависимости, все разработчики в команде должны знать, чтобы снова запустить npm install. Есть ли способ автоматически установить пакеты, которые еще не установлены? Должен ли я просто запускать npm install всегда, чтобы убедиться, что я в курсе?

Ответы

Ответ 1

Да npm install - самый простой способ ИМО. Знакомство с другими командами npm также облегчает управление папками. Например:

  • npm ls, чтобы отобразить установленные модули.
  • Или флаг --save, т.е. npm install grunt-html --save для установки и вставки пакета и версии в ваш package.json.
  • npm prune для удаления модулей, не включенных в ваш package.json.

Другими способами управления зависимостями являются фиксация папки node_modules в вашем репозитории, чтобы другие разработчики не могли запускать npm install. Или для более сложных проектов рассмотрите возможность использования npm shrinkwrap для блокировки зависимостей для определенных версий: npm shrinkwrap docs.

Ответ 2

Я не пробовал использовать зависимости grunt-install (https://github.com/ahutchings/grunt-install-dependencies), но, похоже, это может удовлетворить ваши потребности. Просто добавьте зависимости для установки в качестве первой задачи в своих пользовательских определённых параметрах grunt tasts, например.

grunt.registerTask('build', ['install-dependencies', 'useminPrepare',...]);