Revolver/Spray 的自定义资源目录
Custom resourceDirectory for Revolver/Spray
我有一个带有基本前端组件的 Spray 应用程序,源代码位于 src/main/frontend 中,部署版本(已编译 sass、缩小等)位于 Spray 的默认资源位置 src/main/resources .我想将 Revolver 的 re-start
任务的资源目录更改为 src/main/frontend,以便在开发时更快地看到更改。
我试过添加设置
resourceDirectory in Revolver.reStart <<= baseDirectory(_ / "src" / "main" / "frontend")
不过好像没有效果。我猜是因为 resourceDirectory
是 Compile
范围内的设置,而不是 Revolver 本身的设置。在 SBT 控制台中:
> reStart:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/frontend
> compile:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/resources
有谁知道如何为 re-start
任务更改此设置,但不能为任何其他任务更改此设置?可能通过创建一个自定义任务来调用使用附加设置重新启动?
感谢您的帮助。
您应该在重新启动时将另一个资源目录添加到 fullClasspath
,例如 (fullClasspath in Revolver.reStart) += (WebKeys.public in Assets in web).value
,或者在您的情况下 fullClasspath in Revolver.reStart += baseDirectory(_ / "src" / "main" / "frontend")
- 实际上,getFromResourceDirectory
和 getFromResource
将提供来自 class 路径的内容。
为了更好地理解它,我建议 运行 inspect reStart
- 它取决于 compile:products
,而 compile:products
又取决于 compile:copyResources
,而 compile:copyResources
又取决于 compile:resourceDirectories
。因此,reStart 将使用编译器生成的任何内容,即从某处复制的资源。上面的解决方案似乎更容易一些
我有一个带有基本前端组件的 Spray 应用程序,源代码位于 src/main/frontend 中,部署版本(已编译 sass、缩小等)位于 Spray 的默认资源位置 src/main/resources .我想将 Revolver 的 re-start
任务的资源目录更改为 src/main/frontend,以便在开发时更快地看到更改。
我试过添加设置
resourceDirectory in Revolver.reStart <<= baseDirectory(_ / "src" / "main" / "frontend")
不过好像没有效果。我猜是因为 resourceDirectory
是 Compile
范围内的设置,而不是 Revolver 本身的设置。在 SBT 控制台中:
> reStart:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/frontend
> compile:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/resources
有谁知道如何为 re-start
任务更改此设置,但不能为任何其他任务更改此设置?可能通过创建一个自定义任务来调用使用附加设置重新启动?
感谢您的帮助。
您应该在重新启动时将另一个资源目录添加到 fullClasspath
,例如 (fullClasspath in Revolver.reStart) += (WebKeys.public in Assets in web).value
,或者在您的情况下 fullClasspath in Revolver.reStart += baseDirectory(_ / "src" / "main" / "frontend")
- 实际上,getFromResourceDirectory
和 getFromResource
将提供来自 class 路径的内容。
为了更好地理解它,我建议 运行 inspect reStart
- 它取决于 compile:products
,而 compile:products
又取决于 compile:copyResources
,而 compile:copyResources
又取决于 compile:resourceDirectories
。因此,reStart 将使用编译器生成的任何内容,即从某处复制的资源。上面的解决方案似乎更容易一些