java - 根据环境更改 Assets 路径

标签 java wicket

我有一个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/

相关文章:

java - AddFolderListener 在某些设备中有效,但在其他设备中无效

格式为 "yyyy-mm-dd HH:mm:ss"的 Java 字符串到日期对象

java - 带 Wicket 的正则表达式 mountPage

java - Java 中的页面过期(Wicket)

Wicket 口日期范围(从-到)验证

java - Wicket 口: "Component-targetted feedback message was left unrendered",即使 FeedbackPanel 位于页面上

java - 如何在最终输出 html 中隐藏 wicket 容器和面板标签

java - 什么是可序列化?这是什么意思?

java - 在 java 的同步方法或 block 中使用时的静态成员

javascript - 在 wicket 事件中获取变量 javascript