是否可以在开发模式下进行以下路由:
GET / controllers.Assets.at(path="/public/ui/dev", file="index.html")
GET /*file controllers.Assets.at(path="/public/ui/dev", file)
以及生产中的以下内容:
GET / controllers.Assets.at(path="/public/ui/prod", file="index.html")
答案 0 :(得分:9)
是的,这是可能的。在conf/routes
中声明您的开发路线,但在conf/prod.routes
中声明您的生产路线。然后,有一个生产配置文件conf/prod.conf
,并将其放入其中:
include "application.conf"
application.router = "prod.Routes"
现在,当您在生产中启动应用程序时,只需使用:
path/to/myapp/bin/myapp -Dconfig.resource=prod.conf -Dhttp.port=...
答案 1 :(得分:1)
上面的解决方案运行良好,但意味着您正在复制路由,例如您的routes
和prod.routes
文件中的非静态资源。
如果您想保留单个路线文件,可以沿着johanandren建议的路走。我非常成功地使用了这种方法,并在https://gist.github.com/drcharris/2e3518b212adfa1b6a7f
发布了这个方法的要点答案 2 :(得分:0)
没有开箱即用。但是在这里你有两个关于如何实现相同功能的想法: