用akka-http重新加载静态资源

psi*_*yev 7 scala hotswap akka akka-http

简而言之:是否可以使用akka-http重新加载静态资源?

多一点:

  • 我有Scala项目。
  • 我正在使用App对象启动我的Main 课程。
  • getFromResourceDirectory用来查找我的资源文件夹。

我想拥有的是在开发过程中热交换我的静态资源。例如,我有index.htmlapplication.js,需要更改,并且在刷新浏览器而不重启服务器后想查看更改。做这种事情的最佳实践是什么?

我知道Play!可以这样做,但是我不想Play!仅仅因为这个而基于我的项目。

joh*_*ren 5

两种选择:

  1. 最简单:getFromDirectory在本地运行时使用指令代替它,然后将其指向要“热加载”的文件所在的路径,它直接从文件系统提供文件,因此每次更改文件并通过Akka HTTP加载文件时,是最新版本。
  2. getFromResourceDirectory从类路径加载文件,资源是可用的,因为SBT在target 每次构建(copyResources)时都会将它们复制到类目录中。您可以使用unmanagedClasspath来配置sbt,以使其在类路径中包含静态资源目录。如果要在运行时将资源打包在工件中,那么package这将需要更多的sbt-trixery(如果您只是放入其中src/resourcesunmanagedClasspath则使用复制的或修改的将取决于类路径的顺序)。