Playframework 播放框架未拾取对公共文件的更改

Playframework 播放框架未拾取对公共文件的更改,playframework,gulp,Playframework,Gulp,我正在使用scala play framework[2.4.2]构建带有Angular的单页应用程序的后端。我把所有前端的东西都放在自己的文件夹中,我正在使用gulp.js编译并最小化这些资产 每次更改后,我的前端都会重新编译到 /ui/dist/assets 我已经将此添加到build.sbt中 unmanagedResourceDirectories in Assets += baseDirectory.value / "ui/dist/assets" 然后在我的路线中,我会这样做:

我正在使用scala play framework[2.4.2]构建带有Angular的单页应用程序的后端。我把所有前端的东西都放在自己的文件夹中,我正在使用gulp.js编译并最小化这些资产

每次更改后,我的前端都会重新编译到

 /ui/dist/assets
我已经将此添加到build.sbt中

unmanagedResourceDirectories in Assets += baseDirectory.value / "ui/dist/assets"
然后在我的路线中,我会这样做:

GET         /assets/*file                        controllers.Assets.at(path="/public", file)
这一切都很好,除非当我改变了文件,他们重建播放将不会找到新的文件。它们将存在于ui资产目录中,但我的浏览器中会出现404错误。重新启动play将修复此问题,如果play以增量方式编译(gulp运行时未完成),则一切正常


文档中提到,资产被打包到应用程序Jar文件中,在重新构建之前,它可能会出错。然而,有没有办法迫使这一点?自动递增器没有接收到更改。

啊,所以我很难找到一个解决方案,您可以在play的类路径中添加另一个文件夹。这并不理想,因为开发人员明确地不希望类路径中有资产

我想出了这个办法。本质上只是触摸类路径中的文件,强制重新加载

在我的gulpfile中,创建后:

gulp.task('reload', [], function() {
  fs.closeSync(fs.openSync('../conf/test', 'w'));
});