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

时间:2017-08-28 14:41:44

标签: javascript maven version-control version

情景

我试图在JS中提出一种实现版本控制的方法,它实现了两个前提:

  1. 缓存逐
  2. 很少(或没有理想情况下)调用Backend
  3. 因此我想出了这个方案:

    每次新版本可用时我都需要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文件中读取,然后返回)

    问题

    我有什么方法可以使用,所以前端知道什么是最新版本?

    感谢。

2 个答案:

答案 0 :(得分:2)

我使用buildnumber-maven-plugin来生成版本标记,例如git哈希。并将其嵌入战争文件中的某个位置。任

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

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

答案 1 :(得分:1)

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

如果您通常每天都会发布BE版本,那么每隔12,6,4或您想要的任何小时数就会对服务器进行任何更改。这一切都取决于更新文件的重要性。

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