2013-07-11 3 views
5

Я вижу много новых плагинов Maven для JavaScript, для чего необходимо установить NodeJS на машине, где происходит сборка (как локальные, так и серверы CI). Например: yeoman-maven-plugin, npm-maven-plugin и т. Д.Установка NodeJS через Maven

Вопрос: Имеет ли смысл проверять наличие NodeJS и устанавливать его, если отсутствует через Maven в качестве зависимости?

Бонусный вопрос: Если вы считаете, что это хорошая идея, как бы вы выполнили эту задачу?

+0

Я думаю, что это была бы ужасная идея. Не было бы, по этой логике, ожидать установки Ruby или Python или любой другой среды, если проект зависит от них? Если плагин, который вы используете, просто оболочка для запуска jsHint или тестов жасмина и т. Д., Вы можете искать подходящий автономный плагин. С другой стороны, если это настоящий проект узла, то зачем рассматривать узел как гражданина второго класса? –

+0

Большинство плагинов maven являются оболочками/адаптерами для собственных инструментов, когда они не основаны на Java. Во многих случаях есть достойные альтернативы (WRO4J - отличный пример), однако я продолжаю видеть новые отличные инструменты на основе узла и во многих случаях тонкие оболочки Maven, которые требуют, чтобы Node уже присутствовал в системе. – dbrin

+0

Что мы обычно делали, это не попытка установить NODE, а настроить профили, определяющие, где найти NODE. Итак, для профиля «dev-local» мы предположим, что у вас есть nodejs на вашем пути. Тогда для сервера CI мы предположим, что он находится на /bin/node-0.10.17/bin и т. Д. –

ответ

4

Вы можете попробовать frontend-maven-plugin (via https://stackoverflow.com/a/19600777/1024571). По документации:

Этого плагина загрузка/устанавливает узел и НПЙ локально для вашего проекта, работает НАЯ установка, Grunt и/или Карму

В основном это позволяет использовать узел как часть вашей сборки без необходимости его установки в глобальном масштабе на строительной машине.

+0

Спасибо Джеффу. Это выглядит очень многообещающе. Я попробую. – dbrin

Смежные вопросы