根据环境更改资产路径

时间:2014-07-30 14:55:04

标签: java wicket

我有一个java应用程序,我刚刚实现了grunt将我的资产编译成一个部署文件夹,这些文件都已缩小,因此我需要修改文件路径,因此在生产/实时中,资源是从部署调用的/styles/site_52.css.min ,在开发环境中,它们是从 assets / styles / site_52.css 调用的,这使得调试变得更容易。

在rails中我执行此操作 - if Rails.env.production?

开发环境路径

Ultilities文件
STYLESHEET("/assets/styles/")
BaseWebpage文件
final String siteCss = "site_" + site.getId() + ".css";
add(CSSPackageResource.getHeaderContribution(StaticContent.STYLESHEET.getDir() + siteCss));

生产/实时环境路径

Ultilities文件
STYLESHEET("/deploy/styles/")
BaseWebpage文件
final String siteCss = "site_" + site.getId() + ".min.css";
add(CSSPackageResource.getHeaderContribution(StaticContent.STYLESHEET.getDir() + siteCss));

1 个答案:

答案 0 :(得分:1)

您可以(并且应该)在开发模式的开发环境中以及在部署模式下的生产中运行Wicket。在java中,您可以通过调用

来确定运行的模式
Application.get().getConfigurationType()

返回枚举RuntimeConfigurationType。然后你可以这样做:

if (RuntimeConfigurationType.DEVELOPMENT.equals(Application.get().getConfigurationType())){
  //set dev path 
} else {
  //set prod path and extension
}

另请注意,Wicket可以在DEPLOYMENT模式下提供压缩的javascript和css资源。请查看ResourceSettingssetCssCompressor()以及setJavaScriptCompressor()。我建议尝试这种方法。