2

我有一个带有纯 JS 前端和 Scala 后端的 Web 应用程序。我想在我的构建管道中使用 Grunt 将src/main/webapp处理为目标dist/webapp目录,其中包含连接/缩小的 js 和 html 文件、编译的 sass 表等。我还想保留原始 JS 和 HTML 文件以进行本地测试使用 container:start 任务,而 package 任务将使用 Grunt 处理的资源构建我的 WAR 文件。当我在 SBT 中使用以下设置时:

编译中的 webappResources <<= baseDirectory { bd => Seq(bd / "dist" / "webapp") }

然后我实现了第二个目标——我的 WAR 是使用dist/webapp中的 webapp 资源构建的。但是,在本地开发期间使用 container:start 时,我会绑定到同一个目录。有没有办法为不同的目的定义不同的目录?

4

1 回答 1

1

xsbt-web-plugin 支持 SBT 0.13.1,因此您可以使用更好的语法webappResourcesCompile范围内定义:

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并保留本地开发设置的默认值。

阅读范围以了解有关“范围”设置的更多信息,即为不同的设置不同的值。

于 2014-01-08T22:56:22.897 回答