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

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

葱子4年前 (2021-02-03)其他2339

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

相关文章

【紧急公告】宝塔面板发布紧急安全更新,请使用这些版本的站长立即更新

【紧急公告】宝塔面板发布紧急安全更新,请使用这些版本的站长立即更新

今天我的站长群有好友发了一则截图,内容是宝塔面板发布紧急更新,感觉事态比较严重。为了进一步确认是否属实,上宝塔官网看了下,确认属实。 本次涉及的漏洞版本为:Liunx版本7.4.2版本和windows版6.8版本 请正在使用以上版本的站...

我的2016书单

心理学-行为学:《怪诞行为学》 互联网运营:《增长黑客》 职场:《不会汇报工作,还敢混职场》 市场营销:《定位》、《影响力》...

在中国,哪些领域适合做垂直的 SNS 社区?

在中国,哪些领域适合做垂直的 SNS 社区?

兴趣类社区都可以做,比如:  1、文玩、古玩收藏类社区:顶尖收藏http://www.guwanlife.com(我自己的论坛,打个小广告)、文玩迷、文玩天下、文玩部落这些,都是论坛社...

魔百和M101破除安装应用限制安装当贝市场【亲测有效】

魔百和M101破除安装应用限制安装当贝市场【亲测有效】

移动宽带送的新魔百和M101机顶盒,只能看IPTV,不能自由安装第三方软件。 基本上参考智能电视网的教程可以自己折腾出来,但是还是有些地方需要注意。 我手里的M101自带的系统没有【本地升级】的选项,在这个系统下,按照大神们分享的卡刷方...

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

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

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

nginx/Apache/IIS开启目录浏览功能

nginx/Apache/IIS开启目录浏览功能

我们在做网站的时候,有些目录会经常用来存储一些附件内容,通常进FTP查看会相对麻烦,这时候我们可以试试【目录浏览】这个功能。 1、nginx开启目录浏览方法:首先找到当前网站的conf配置文件,在server段里面添加如下代码,然后重启n...

发表评论

访客

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