blo*_*ong 29
是的,使用frontend-maven-plugin,您可以通过Maven编译Grunt项目(通过NodeJS邮件列表找到).
正如文档所指出的,该插件具有以下功能:
- 让你的前端和后端版本尽可能分开,通过减少它们之间的交互量到最低限度; 仅使用1个插件.
- 让您在构建过程中使用Node.js及其库,而无需为构建系统全局安装Node/NPM
- 让您确保在每个构建环境中运行的Node和NPM的版本是相同的
我已经完成了代码并且它非常简单.谢天谢地,有人终于把它放在了一起; 这是一个优雅的解决方案.存储库包含一个使用常规Gruntfile.js来调用jshint分析的示例.
nwi*_*ler 15
更新2014-09-19:这不再是最准确的答案 - 请看下面的一些其他答案.当我回答这个问题时,它是准确的,但从那以后,这个领域似乎取得了很大的进展.
我怕你运气不好.Grunt是使用节点构建的,需要使用npm进行安装.如果您不想使用npm,则可以从另一台计算机复制现有的Grunt安装,但仍会grunt在构建服务器上使用可执行文件及其所有依赖项.
除此之外,许多Grunt任务都是作为Node.js模块实现的,您也必须安装它们.同样,您可以从另一台服务器复制它们,在那里您已经完成了Node.js/Grunt安装,但是在某一点上,您必须这样做.
要从Maven运行Grunt,最好的办法是使用Maven exec插件,然后从那里执行grunt可执行文件.
作为替代方案,有几个Maven插件允许您以基于Java的方式执行类似于Grunt的操作.它们需要与Grunt不兼容的其他配置,因此YMMV.我过去使用过的一个是http://code.google.com/p/wro4j/,它附带了一个Maven插件:http://code.google.com/p/wro4j/wiki/ MavenPlugin
您无法在构建服务器上安装Node.js的任何特定原因?
gfo*_*ier 10
最后我最终得到了这个(足够接近,但没有解决问题):
<plugin>
<groupId>org.mule.tools.javascript</groupId>
<artifactId>npm-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>fetch-modules</goal>
</goals>
<configuration>
<packages>
<package>grunt-cli:0.1.6</package>
</packages>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在本地安装grunt-cli,但是如果我没有安装node.js那就没用了.虽然我尝试在本地安装node.js,但是需要安装python,g ++和make.所以我将使用KISS解决方案:在构建服务器中安装grunt.
参考文献:
https ://github.com/mulesoft/npm-maven-plugin
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
https://github.com/ mcheely/requirejs-行家-插件
你可能想要查看http://jhipster.github.io/:它是一个Yeoman生成器,它生成一个Maven,Grunt和Bower一起工作的应用程序.
这有点像你的第三个选项,但一切都是为你配置的,这并不容易.它还为您生成基本的AngularJS和Java REST服务
| 归档时间: |
|
| 查看次数: |
22367 次 |
| 最近记录: |