请问jweixin的AMD加载逻辑能否优化?
发布于 4 年前 作者 xiuyingsun 7456 次浏览 来自 问答

以前的H5页面,通过<script>标签动态引入了__jweixin-1.3.0.js__。而后做功能升级的时候,需要动态引用__jweixin-1.6.0__,采用AMD方式,但一直引入不成功。经过review代码发现,是因为jweixin代码中有个

if(!window.jWeixin) { ... }

根据这个情况,在进行AMD加载前删除了jWeixin,即可正确导入模块。

delete window.jWeixin
loadScript('jweixin-1.6.0', jweixin => { ... })

我能理解在使用<script>标签引入的时候,这个条件判断的作用;但感觉作为AMD的模块,与全局环境不能充分解耦,就失去了模块化的本意。而且由于调用是个异步过程,delete之后、load返回之前,是否会产生的其他影响就是个盲区了。

建议优化。

回到顶部