我已经阅读了一些文章和解决方案,如何使用Maven构建Node.js应用程序,但我找不到这些问题的答案:
答案 0 :(得分:2)
我认为这取决于您提供软件和构建基础架构的方式。
我看到人们使用maven执行节点命令的大多数情况都是根据情况而定的。如果您的团队具有Java背景,那么让节点运行通常更容易(更快,尽管可能不是最好的长期解决方案)。此外,大多数CI服务器都以这种方式快速运行,公司代理设置(通常包括Nexus工件库)存储在maven settings.xml中。因此,使用maven来读取它们并将它们传递给您的节点构建只是一种实用的方法。
我认为只要您像这样使用它就可以了(重复使用基础设施设置,但使用grunt / gulp / webpack /...执行节点构建)。
此外,单页应用程序通常被打包为war文件以便部署它们(因为许多公司在应用程序服务器供应商上使用)。因此,maven将启动您的节点构建,然后创建一个war文件,以便在管道中进一步处理(通常是现有的,通常基于maven)。
因为npm有自己的包层次结构,所以我建议使用那个,而不是将maven依赖项解析与节点包管理器混合。
如果没有这种情况(您的CI服务器上有本机节点支持,您可以管理工件/节点包,您可以在没有maven的情况下在“云”中部署节点应用程序:不执行此操作)
Node缺少某些可以轻松设置它的企业功能(代理设置,内部npm托管)。我遇到了忽略代理设置的节点模块。
另一方面,很多这些要求只是一种习惯,使用节点是一个很好的机会来重新思考一些人会考虑给出的东西。如果你可以在不使用maven的情况下运行,只需坚持使用节点。我非常友好 - 如果这在讨论中很重要:) - 只是为了简化你的要求和输入的加权。