当前位置:首页 > 其他 > 正文内容

cocos/laya/egret引入第三方js库报xxx not defined解决方案

葱子5年前 (2021-02-03)其他2605

cocos/laya/egret都支持引入第三方的js库来支持更多的功能。

不过在引入js库后,打包为微信小程序等小程序平台应用时,总是报xxx not defined的问题。

问题分析:

这是因为cocos/laya/egret对小程序平台做了对应的适配,三方js库导出的对象都需要挂载到window对象下,才能作为全局对象使用。

解决方案:

在三方js库中添加window.xxx=xxx;

举例:

a.js中的内容为:
var a="hello world";

在cocos/laya/egret中引入后,在H5页面下可以正常使用,但微信小程序中报a not defined

修改为:

var a="hello world"; window.a=a;

实测:

可以正常使用,同时这种方法兼容H5/各种小程序和app。

优化:

以上方法简单粗暴,一般不会存在较大的问题。不过某些时候不太兼容js库本身对微信小程序环境的适配。需要通过判断运行环境做进一步的优化升级。
针对cocos/laya/egret做平台判断,当判断运行环境为cocos/laya/egret时,将对象挂载到window下。

var a="hello world"; if((typeof cc!=="undefined")||(typeof egret!=="undefined")||(typeof Laya!=="undefined")){window.a=a}

最后:

实际中引入的第三方js库并不会像文章中举例的那么简单,开发者需要仔细分析三方库代码,在合适的位置引入以上适配代码。

扫描二维码推送至手机访问。

版权声明:本文由葱子博客发布,如需转载请注明出处。

本文链接:https://www.aitiancheng.com/article-1577.html

相关文章

老板强制要求员工转发朋友圈,算暴政吗?

老板强制要求员工转发朋友圈,算暴政吗?

问题描述:经常会看到一些创业公司甚至大公司,在拉新或者做品牌传播的时候,强制要求员工”拉100个用户“,或者”转发这篇公司的软文“到朋友圈,甚至其他私人社交媒体上。员工上班时间为公司打拼...

php学习

作者:燕十八 链接:https://www.zhihu.com/question/39078661/answer/79607574 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 &n...

卸载重装vm12后,原来的虚拟机苹果MAC OS系统文件无法打开的解决办法

卸载重装vm12后,原来的虚拟机苹果MAC OS系统文件无法打开的解决办法

一、首先,我们讨论的讨论前提是: 1、版本号:VM10/11/12版本  2、条件:卸载VM再重装 3、已有完整的虚拟机系统文件   ...

爱奇艺vip年卡会员+京东Plus年卡限时六折优惠 仅需118元

爱奇艺vip年卡会员+京东Plus年卡限时六折优惠 仅需118元

7月17日,爱奇艺再次联合京东Plus开启了限时六折的优惠活动,仅需118元就可以拿下爱奇艺的vip年卡加上京东Plus会员。 活动时间:7月17日起 爱奇艺商城开启爱奇艺联合会员促销,一次开通享双重权益,主要以黄金会员联合套餐为主,大...

外卖CPS小程序被封后续,我所了解的一些套路

外卖CPS小程序被封后续,我所了解的一些套路

昨天的文章外卖CPS小程序被封,我的一些感想里面写了哪些类型的小程序容易被封号,今天继续展开讲一下,我所了解的一些套路。 1、微信会主动封小程序吗 对于大多数用户规模较小的小程序来讲,可能你提供的某些功能或服务并不符合微信的规则,但从我...

万网企业邮箱与阿里云邮箱的SMTP、POP设置【转】

万网企业邮箱与阿里云邮箱的SMTP、POP设置【转】

1、万网企业邮箱SMTP、POP设置 邮箱管理网址:http://qiye.aliyun.com,其中万网的邮箱也可以配置成自己的域名邮箱,比方mail.unvs.cn,这个不影响下面的设置, 万网企业邮箱POP、SMTP、I...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。