在制作中,我想使用nginx来提供静态效果。如何在Play框架中设置我们可以在开发和生产中使用的资产的URL。我喜欢Django在设置中设置STATIC_URL
的方式。
编辑:
在Django中,您可以在STATIC_URL = 'https://static.domain.com/'
中设置settings.py
。在模板中,您可以调用以下值:
<script src='{{ STATIC_URL }}js/jquery.js'></script>
答案 0 :(得分:2)
你可以向application.conf添加你需要的任何东西,所以对于一个实例,它可以是静态域(当前应用程序的域除外),接下来就可以了。在控制器中编写简单的getter(Java版本):
<强> application.conf 强>
staticUrl = "https://static.domain.com/"
controller Application.java
public class Application extends Controller {
public static final String STATIC_URL = Play.application().configuration().getString("staticUrl", "http://localhost:9000");
public static String getStaticUrl(String path){
return STATIC_URL + path;
}
//other stuff
}
查看强>:
<script src='@Application.getStaticUrl("js/your_script.js")'></script>
<!-- or just -->
<script src='@(Application.STATIC_URL)js/your_script.js'></script>
如果您只需要使用指向当前域的绝对网址,则可以使用Assets.at
功能absoluteURL()
直接在视图中执行此操作,即:
<script src='@routes.Assets.at("js/your_script.js").absoluteURL()'></script>
<!-- or for https version -->
<script src='@routes.Assets.at("js/your_script.js").absoluteURL(true)'></script>