我有一个java应用程序,我刚刚实现了 grunt 将我的 Assets 编译到部署文件夹中,这些文件夹都被缩小了,所以我需要修改文件路径,以便在生产/实时中从部署中调用 Assets /styles/site_52.css.min 并在开发环境中从 assets/styles/site_52.css 调用它们,这使得调试变得更容易。
在 Rails 中我这样做 - if Rails.env.Production?
开发环境路径
实用程序文件STYLESHEET("/assets/styles/")
基本网页文件
final String siteCss = "site_" + site.getId() + ".css";
add(CSSPackageResource.getHeaderContribution(StaticContent.STYLESHEET.getDir() + siteCss));
生产/实时环境路径
实用程序文件STYLESHEET("/deploy/styles/")
基本网页文件
final String siteCss = "site_" + site.getId() + ".min.css";
add(CSSPackageResource.getHeaderContribution(StaticContent.STYLESHEET.getDir() + siteCss));
最佳答案
您可以(并且应该)在开发环境中以开发模式运行 Wicket,并在生产环境中以部署模式运行 Wicket。在java中你可以通过调用来确定你的运行模式:
Application.get().getConfigurationType()
返回一个枚举 RuntimeConfigurationType 。然后你可以这样做:
if (RuntimeConfigurationType.DEVELOPMENT.equals(Application.get().getConfigurationType())){
//set dev path
} else {
//set prod path and extension
}
另请注意,Wicket 可以在部署模式下提供压缩的 javascript 和 css 资源。看看ResourceSettings以及 setCssCompressor()
和 setJavaScriptCompressor()
。我建议尝试这种方法。
关于java - 根据环境更改 Assets 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040073/