如何使用git托管的外部前端项目设置构建?

时间:2014-08-18 19:07:25

标签: angularjs playframework gruntjs sbt

我有一个Play 2.2应用程序,它仅用于实现REST API。

我在一个独立的GIT仓库中有一个AngularJS应用程序。该应用程序使用Grunt和NodeJS进行构建。

前端应用程序的结果是index.html + 1 js文件和1个css文件。

理想情况下,我想从SBT调用构建angularjs应用程序的Grunt构建脚本。

我可以使用SBT插件来执行此操作吗?

我应该用最简单的方法来做到这一点的最佳方法是什么?

目前我手动构建它并将静态资源复制到我的PLAY的公共文件夹中。

提前致谢

1 个答案:

答案 0 :(得分:0)

我之前从未这样做过,但是Google搜索的快速搜索给了我sbt-grunt-plugin,其最后一次提交是在2013年2月20日撰写的:(

该插件有点过时,但正在做我提出的建议 - 提供包含咕噜声(as the plugin above does)的命令(也可能是一项任务)。您可能还想阅读关于Commands的官方文档。

然后,我会使用RootProjectroot项目声明对angularjs / frontend项目的依赖关系frontend(angularjs)和backend(Play Framework)子模块 - 见How can sbt pull dependency artifacts from git?

lazy val frontend = RootProject(uri("git://..."))

lazy val backend = project ...

root项目由sbt自动创建,如Default root project中所述:

  

如果没有为构建中的根目录定义项目,则sbt   创建一个默认的聚合构建中的所有其他项目。

frontend需要build.sbt创建任务,它应该运行得相当好(它可能是唯一可行的解​​决方案,不会过多地绑定项目并创建不必要的相互依赖关系)。