手机版

微信小程序开发 如何优雅兼容

时间:2021-12-06 来源:互联网 编辑:宝哥软件园 浏览:

微信小程序开发,如何优雅地兼容(图1)

至于单个API如何兼容,微信官方提供的是兼容文档,这里就不赘述了。下面的讨论集中在如何优雅地处理整个项目中的兼容性问题。

问题

如果在每个需要兼容性的地方都写了一堆与兼容性相关的代码,那么随着代码量的增加,就会出现以下问题:

当代码兼容性方案发生变化时,需要在很多地方进行更改。随着时间的推移,您的代码是最需要的,也是最难兼容的。

思考

理想情况下,它不需要任何兼容性处理,所以反转兼容性处理不是正常代码流的一部分。基于此:

兼容性细节不必暴露。兼容的方案应该统一。兼容的方案可以轻松更改

解决方案

1.将兼容方案隐藏,对外提供接口即可

。例如,wx.showLoading是在1.1.0版本之后提供的,它需要与以前的版本兼容。我们选择放在show-loading.js中,内部进行兼容性相关的处理,外部提供showLoading方法。这样,调用者只需要调用showLoading方法,不需要考虑兼容性,如果兼容性模式有什么变化,只需要更改show-loading.js即可

2.兼容的处理还有共性可以抽象

经过更多的兼容性处理,我们会发现处理兼容性的方法不超过两种:

当支持这个方法的时候,如果直接使用对应的方法,不支持的话,做一些兼容的处理,这样我们就可以再次拉出这个模式,当然有一些好处:

在减少重复代码做一些常见的处理时,我们只需要改变一个地方(比如官方API不兼容时,增加相应的统计来分析当前应用的跨版本情况)。例如,我们提取这样一个简单的compatible.js来处理兼容性中的常见问题:

微信小程序开发,如何优雅地兼容(图2)

在showLoading.js之前,我们可以这样写:

微信小程序开发,如何优雅地兼容(图3)

Simple :),这种写法意味着兼容时可以正常显示加载,不兼容时不可以。

当然,有些完美主义者可能会想:“你怎么能不表现出来呢?我就是想表现一下!”然后我们可以这样写:

微信小程序开发,如何优雅地兼容(图4)

用wx.showToast伪造了一个showLoading

3.文件组织

兼容的文件可能会越来越多。对于我这样爱整洁的人来说,看到所有东西都散落在抽屉里,绝对是无法忍受的.所以我们可以多用几个小盒子把它们分门别类。如何选择小盒子?其实官方已经给出了答案。官方的API是根据不同的功能进行分组的,所以我们可以把分组作为一个“盒子”来使用。最终的文件组织如下所示:

微信小程序开发,如何优雅地兼容(图5)

版权声明:微信小程序开发 如何优雅兼容是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。