我有一个带有纯JS前端和Scala后端的Web应用程序。我想在我的构建管道中使用Grunt将 src / main / webapp 处理成目标 dist / webapp 目录,其中包含连接/缩小的js和html文件,编译的sass表等我还想使用container:start任务来保存用于本地测试的原始JS和HTML文件,而包任务将使用Grunt处理的资源构建我的WAR文件。 当我在SBT中使用以下设置时:
编译中的webappResources<< = baseDirectory {bd => Seq(bd /“dist”/“webapp”)}
然后我实现了第二个目标 - 我的WAR使用 dist / webapp 中的webapp资源构建。但是,当使用容器时:在本地开发期间启动时,我会绑定到同一目录。 有没有办法为不同的目的定义不同的目的地?
答案 0 :(得分:1)
xsbt-web-plugin supports SBT 0.13.1因此您可以使用更好的语法在webappResources
范围内定义Compile
:
webappResources in Compile := Seq(baseDirectory.value / "dist" / "webapp")
我可能会弄错,但仅webappResources
也可以。
webappResources := Seq(baseDirectory.value / "dist" / "webapp")
或者甚至(除非您想要替换原始值而不是附加值):
webappResources += baseDirectory.value / "dist" / "webapp"
至于解决方案,我会在build.sbt
中使用以下内容(未经测试的):
webappResources in package := Seq(baseDirectory.value / "dist" / "webapp")
并保留本地开发的webappResources
设置的默认值。
阅读Scopes以了解有关“范围”设置的更多信息,即为不同的轴设置不同的值。