Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

重复引入 weixin-js-sdk 时,返回结果为空 #10

Closed
yejiajiehz opened this issue Nov 21, 2017 · 5 comments
Closed

重复引入 weixin-js-sdk 时,返回结果为空 #10

yejiajiehz opened this issue Nov 21, 2017 · 5 comments

Comments

@yejiajiehz
Copy link

由于代码里会判断 window.jWeixin
如果其他包里引用了 其他版本的 weixin-js-sdk ,再次引用时 window.jWeixin 已经存在
导致代码逻辑不正确

myproject
--node_modules
---- weixin-js-sdk@1.2.0     // 我自己安装的 sdk
---- ohter
--------eixin-js-sdk@1.0.7   // 第三方包引入的 sdk

应该添加一行代码

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

我目前的处理方法是

const wx = window.jWeixin || require('weixin-js-sdk')
@yejiajiehz
Copy link
Author

如果是直接引入浏览器是不存在这个问题的
只有在 npm 多模块引用的情形下 会形成我上面的结构
CommonJS 版本需要处理这个问题

@yanxi123-com
Copy link
Owner

由于代码里会判断 window.jWeixin
如果其他包里引用了 其他版本的 weixin-js-sdk ,再次引用时 window.jWeixin 已经存在
导致代码逻辑不正确

既然代码里判断了 window.jWeixin,如果之前引入过其他版本的包,再次引入时就不会执行相关代码啊

@yejiajiehz
Copy link
Author

yejiajiehz commented Feb 7, 2018

@yanxi-me

// 如果已经引用过其他版本,wx 变量结果是 undefined
const wx = require('weixin-js-sdk')

// 正确写法
const wx = window.jWeixin || require('weixin-js-sdk')

@yanxi123-com
Copy link
Owner

@yejiajiehz 明白了,谢谢

@yanxi123-com
Copy link
Owner

新版本已经解决此问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants