JavaScript 版本控制:从 FE 管理版本



>SCENARIO

我正在尝试想出一种在JS中进行版本控制的方法,该方法满足两个前提:

  1. 缓存方面
  2. 很少(或理想情况下没有(调用后端

因此,我想出了这个方案:

每次有新版本可用时,我都需要 FE 重新加载内容,因此实现此目的的一种简单方法是将版本标签添加到 src 链接:

<script type="text/javascript" src="myfile.js?15.6.0"></script>

我可以添加一些模板,因此可以在其他地方定义版本号,例如:

<script type="text/javascript" src="myfile.js?$$RELEASE_ID$$"></script> 

问题

我需要调用后端,以了解最新版本(后端将从pom.xml文件中读取它,然后返回(

问题

有什么方法可以让前端知道最新版本是什么?

谢谢。

我会使用buildnumber-maven-plugin来生成版本标签,例如git hash。并且,将其嵌入战争文件中的某个位置。也

  • 它是一个服务器端文件,例如 web.xml您可以在其中定义用于在 Java 代码中访问的上下文变量,或者
  • 浏览器端的 HTML/JS 文件。

请参阅 https://github.com/renfeng/event-manager/blob/master/pom.xml#L130-L155

无法消除与后端的通信以获取有关服务器上文件状态的信息。但是,如果您希望请求尽可能少,则可以为 FE 设置轮询服务器的间隔。

如果您通常每天发布 BE 版本,那么每隔 12、6、4 或您想要的任何小时数轮询服务器的任何更改。这完全取决于更新文件的重要性。

话虽如此,在大多数情况下,当在后端更新文件版本时,一旦页面刷新(可能会在几个小时后发生(,服务器将发送新的文件版本,除非服务器缓存策略另有配置。

最新更新