【问题标题】:Play Framework not picking up changes to public filesPlay Framework 未获取对公共文件的更改
【发布时间】:2015-09-30 09:43:29
【问题描述】:

我正在使用 scala play 框架 [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 assets 目录中,但我的浏览器中会出现 404 错误。重新开始播放将修复它,如果播放增量编译(当 gulp 运行时没有完成),那么一切正常。

文档提到资产被打包到应用程序 Jar 文件中,并且在重建之前它会出错是有道理的。但是有没有办法强制这样做?自动增量器不接受更改。

【问题讨论】:

    标签: playframework gulp


    【解决方案1】:

    呃,所以我在尝试找到一个可以将另一个文件夹添加到 play 类路径的解决方案时遇到了很多麻烦。无论如何这并不理想,因为开发人员明确不希望类路径中的资产

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

    构建后在我的 gulpfile 中:

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

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      相关资源
      最近更新 更多