2013-07-11 82 views
5

我看到很多较新的JavaScript的Maven插件需要NodeJS安装在构建的机器上(本地和CI服务器)。 例如:yeoman-maven-plugin,npm-maven-plugin等通过Maven安装NodeJS

问题是:检查NodeJS的存在并安装它是否有意义,如果通过Maven作为依赖丢失?

红利问题:如果您认为这是一个好主意,您将如何完成此任务?

+0

我认为这是一个可怕的想法。按照这个逻辑,如果项目依赖于它们,那么是否会期望安装Ruby,Python或其他任何环境?如果您正在使用的插件仅仅是一个运行jsHint或茉莉花测试等的包装器,您可以改为寻找一个适当的自包含插件。另一方面,如果它是一个真正的节点项目,那么为什么把节点当作二等公民呢? –

+0

大多数Maven插件都是本地工具的包装器/适配器,当它们不是基于Java的时候。在许多情况下都有不错的选择(WRO4J是一个很好的例子),但是我一直看到基于节点的新型优秀工具,并且在很多情况下需要Node已经存在于系统中的瘦身Maven包装。 – dbrin

+0

我们通常所做的并不是尝试实际安装NODE,而是设置定义在哪里找到NODE的配置文件。因此,对于“dev-local”配置文件,我们假设您的路径中有nodejs。那么对于CI服务器,我们假设它在/bin/node-0.10.17/bin等。 –

回答

4

您可以尝试frontend-maven-plugin(通过https://stackoverflow.com/a/19600777/1024571)。根据文档:

该插件的下载/为您的项目安装在本地节点和NPM,运行NPM安装,咕噜和/或噶

基本上,它允许您使用节点作为构建的一部分而不需要将其全部安装在构建机器上。

+0

谢谢杰夫。这看起来很有希望。我会试试这个。 – dbrin