繁体   English   中英

如何为CSS,JS,JSP文件提供版本控制

[英]how to provide versioning for css, js, jsp files

我开发了一个单页面Web应用程序,该应用程序具有多个视图。 为了渲染这些视图,使用了ng-if。这些视图没有标题或主体部分,而只有html代码。

每个视图都有一个单独的控制器。 许多点击功能已使用Jquery处理。 对于后端,已使用java。 整个应用程序是在Spring MVC中开发的,并已部署在WebLogic上。

问题是,无论何时我对视图(.jsp文件)或js或css文件进行任何更改,在部署新的WAR文件而不清除缓存并进行硬刷新(ctrl + F5 / R)后,都不会反映出来。 。

我以服务人员的形式得到了答复,但IE10不支持它。

我需要一个永久的解决方案,因为我有5000多个用户,并且我不能要求每个部署之后的每个人都这样做。

当我将它包含在index.jsp中时,我试图提供一个版本,例如(filename.js?version = 2.1)。 但这似乎对我不起作用。 我没有在chrome或任何其他浏览器上测试此功能,因为只有IE10,edge可供我以及用户使用。

我唯一想得到的是,只要.css,.jsp,.js文件中有更新,浏览器就应将旧版本替换为较新版本。

提前致谢

您可以做的是像这样对HTML页面中包含的所有文件进行版本控制

<html>
<head>
  <script src='whatever.v1_2_3.js'></script>
  <link href='whatever.v3_4_5.css'/>
</head>
<body>
...
</body>
</html>

这样,每当您更改HTML中的版本时,如果文件尚未下载到缓存中,这些文件将被下载,从而迫使浏览器始终保持最新状态。

创建一个像window.app_version = 2.0这样的全局变量,然后在引用html页面的任何地方添加版本。 'views/layouts/plain.html?v='+window.app_version

每当您构建应用程序时,只需更新app_version

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM