DeB*_*oer 4 javascript sbt playframework npm sbt-web
我不太熟悉sbt/play配置.我正在使用play 2.3.8来提供我的javascript应用程序.在该项目中有:
.enablePlugins(SbtWeb)
.enablePlugins(play.PlayScala)
.settings(
...
libraryDependencies ++= WebDependancies :+ evobufAkka,
pipelineStages in Assets := Seq(closure, digest),
...
// Some closure compiler settings
)
Run Code Online (Sandbox Code Playgroud)
该项目使用闭包编译器来缩小代码等.但我想改变它.我想停止使用闭包编译器,而只是使用简单的npm包.我知道sbt可以运行一些shell任务.所有这一切的原因是将服务器与前端分开,因此所有与前端相关的任务(较少,uglify,指纹识别等)实际上都是由类似节点的javascript工具完成的.我正在阅读关于sbt-web但我想尽可能避免这种情况.我想到的是:1.启动sbt,打开我的项目2.运行编译: - sbt将运行我的npm任务,最终得到一些build.js文件,然后可以通过/ public目录中的play框架或其他任何方式提供.3.如果可能的话,我希望有一个单独的单元测试过程.
在npm设置方面,我考虑将package.json放在我的project/public文件夹中,除非把它放在更好的位置project/app/assets.
这一切都可能吗?
2015年8月8日更新
我做了一些研究,发现了外部过程.基于我创建的一些例子:
lazy val npmBuildTask = taskKey[Unit]("Execute the npm build command to build the ui")
npmBuildTask := {
"cd public/ && npm install" !
}
Run Code Online (Sandbox Code Playgroud)
但不确定如何将此任务添加到编译过程中?
| 归档时间: |
|
| 查看次数: |
2889 次 |
| 最近记录: |