【发布时间】:2018-02-05 21:06:27
【问题描述】:
场景:
我正在尝试提出一种在 JS 中实现版本控制的方法,它满足两个前提:
- 缓存方式
- 很少(或理想情况下没有)后端调用
因此我想出了这个方案:
每当有新版本可用时,我都需要 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 文件中读取它,然后返回)
问题:
有什么方法可以让前端知道最新版本是什么?
谢谢。
【问题讨论】:
-
我不清楚你的情况。您是否希望前端在浏览器中长时间保持加载?新版本多久发布一次?
-
1) 可以,但这不是强制性的。 2) 新版本最多可以每天发布。
-
如果不调用服务器(或一些通用 API),就无法知道服务器上的内容。为什么你不想轮询服务器?假设 FE 确实不时向服务器发送 http 请求,您可以将版本附加到任何 http 响应中,并在您的 FE 上检查任何响应以了解版本更改。虽然这会节省一些 http 请求,但与轮询相比,这将是 FE 的主要开销。
-
谢谢@ronenmiller。您认为在 FE 级别管理版本是一个坏主意吗?最简单的方法是对后端进行 REST 调用,询问当前版本,对吧?
-
支持您的要求,是的。但是,通常当您 src 具有更改版本的文件时,服务器将在刷新时推送最新版本(除非另有配置)。因此,即使在更改时,您也必须刷新,所以我认为这样做没有任何意义。除非在版本更改时立即更新非常关键。
标签: javascript maven version-control version