前端为app做H5页面,怎么为不同版本保存对应的html界面呢?

问题背景:
clipboard.png
app版本升级,H5页面这边有多种需求可能:

  1. a0页面保持不变,即不做任何调整

  2. b0页面有调整,变为b1页面,原来页面接口复用,在老版app看到b0页面,在新版看到b1页面

  3. c0页面有调整,变为c1页面,由于有合规文案调整,需要新版服务器端上线后,老版也要变成c1页面

假设每版都有类似需求,前端这边该怎么处理?我想到的是:

  1. 每版新需求,js,css,图片等静态资源全部复制一份新的,供新版需求使用

  2. 老页面调整的,复制对应模版,供新版需求使用,做好接口的老版页面兼容即可

clipboard.png
请问各位高手,类似问题,前端这边该怎么处理,以及和后台,app怎么对接呢?

阅读 5.2k
2 个回答

这一类的版本问题都最好是通过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即可。

a类情况:
3.1版本的webview依旧加载3.0版本对应的页面,即a0。

b类情况:
新发一个页面b1,3.1版本的app里webview加载b1页面的地址。

c类情况:
3.1版本的webview依旧加载3.0版本对应的页面,修改c0页面为c1,url不变。

d类情况:
直接发的d1页面供3.1版本webview加载。

这四种情况概况来说就两种情况:

  1. 新版本app加载新的url的页面。

  2. 新版本app与老版本app共用同一个url的页面。

h5页面线上的也是可以随时重发修改的,无论静态动态。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏