如何将npm / gulp / bower构建过程整合到sbt中?
我有两个分开的git repos,一个持有用sbt构建的scala服务器,另一个持有使用npm / bower / gulp构建的webapp前端。
在服务器repo中,我已经有一个任务来构建一个独立的jar(不是标准的包任务); 在前端回购中,我可以用npm install && npm run build
,这会导致一个独立的目录_public
。
现在我想在sbt构建jar任务期间包含UI目录_public
,我想知道是否有更好的方法来执行此操作,而不是手动在sbt中手动产生外部进程来调用npm?
如果您的前端使用NPM和Gulp来构建应用程序,那么您需要使用NodeJS引擎来运行它(或者像Rhino或Nashorn这样的JVM引擎可以做到这一点?不确定),它需要一个外部过程。
问你自己的问题是:你真的想要将后端的部署与前端的部署结合起来吗? 没有任何情况下你只是想部署一个而不是另一个?
我认为使用SBT来部署你的前端是很好的,但是如果你的前端很复杂,你应该把它与SBT分开。
您的JS应用程序不一定需要作为Play公共资产提供,您可以将其部署到自己的位置并在Play HTML模板中引用它。
我同意Sebastien将前端开发人员(甚至可能部署)与后端分开,因为我自己正在学习这一课程。
也就是说,看看SbjWeb(任务工作流程)与WebJars(包管理)的结合。 SbtWeb有几个可以覆盖基础的插件(uglify,concat,filter),在某些情况下,我认为如果安装了节点,它可以直接使用它。
链接地址: http://www.djcxy.com/p/82777.html上一篇: How to integrate npm/gulp/bower building process into sbt?