问题背景:
app版本升级,H5页面这边有多种需求可能:
a0页面保持不变,即不做任何调整
b0页面有调整,变为b1页面,原来页面接口复用,在老版app看到b0页面,在新版看到b1页面
c0页面有调整,变为c1页面,由于有合规文案调整,需要新版服务器端上线后,老版也要变成c1页面
假设每版都有类似需求,前端这边该怎么处理?我想到的是:
每版新需求,js,css,图片等静态资源全部复制一份新的,供新版需求使用
老页面调整的,复制对应模版,供新版需求使用,做好接口的老版页面兼容即可
请问各位高手,类似问题,前端这边该怎么处理,以及和后台,app怎么对接呢?
这一类的版本问题都最好是通过MD5或者其他加版本号的方式来管理。
拿b来举例子,b0和b1分别命名为b0.html, b1.html。
b页面可能引用的资源有图片、css、js等文件,在页面发布前,先对这些静态资源做一定的MD5加版本号。
比如b0.html中所引用的main.js,
main.js
=>main.b3fs3re3.js
,并且在b0.html中对应的脚本标签src设为这个文件。而在b1.html所引用的main.js发生了改变,它经过MD5加版本号之后,
main.js
=>main.e3r44fss.js
,将b1.html中对应的脚本标签src设为这个文件。同步发布这两个带有版本号的资源文件并不会造成冲突,因为从命名的规则上看,它们就是两个文件。
当你希望在你的APP3.0版本看到b的旧页面,那么只需要在APP中引用
b0.html
,而在3.1版本希望看到b的新页面,那么在APP中引用b1.html
即可。至于资源的版本的话,由于你在上面已经做了一定的版本控制,对应版本的页面就会引用对应的版本资源,前提是 这些资源文件都成功部署 。同理,如果你希望新旧版本引用的c页面都是新页面,那么新旧版本APP所引用的c页面均设为
c1.html
即可。