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

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

葱子3年前 (2021-02-03)其他1884

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

相关文章

win10多屏分别设置壁纸和自定义切换方式

win10多屏分别设置壁纸和自定义切换方式

在公司里面一直都是笔记本电脑配外接显示器,用起来是真香。 最近本来打算再家里也买一块显示器来自己用,正巧朋友家里有一块闲置的显示器,我就接过来了。 大屏幕的显示效果确实不错,看电影看网页,干工作可视区域都比笔记本屏幕舒服很多。 接着就...

可以为你提供这些服务:discuz网站维护、搬家、处理挂马、服务器环境配置

经常帮各种站长做discuz快照劫持的处理,也分享了很多相关的教程文章,你目前搜索discuz快照劫持相关的文章很多都是我分享的。 部分站长通过我的分析文章基本都能处理好快照劫持的问题。 相关文章汇总如下:https://www.ait...

实用教程:如何通过小程序APPID查询到对应的小程序名称

实用教程:如何通过小程序APPID查询到对应的小程序名称

最近遇到一个小问题,就是拿到了对方的小程序APPID,但是不知道去哪里查找这个小程序APPID对应的小程序名称叫什么。 带着这个问题,我去百度了一下,大致提供的解决方案有两种。 方法一:通过公众号的关联小程序功能可以通过公众号的关联小程...

现在有什么好一点的古玩app或者网站吗?最好内容丰富点的。

现在有什么好一点的古玩app或者网站吗?最好内容丰富点的。

黄锐,顶尖收藏网站长(http://www.guwanlife.com) 我最近也一直在做古玩相关的APP,是PC社区论坛的移动版本,叫做古玩人生(古玩人生-第一家专注古玩兴趣交友的网站)...

移动魔百盒(M301A)投屏设置技巧

家里装的四川移动宽带,送了一个移动的魔百盒机顶盒,这个盒子比较特殊,有非常多的限制:  1、只能连接到光猫的2/4lan口,接到其他接口(包括路由器的lan口)都会提示“公网接入控制”,完全用不了。 ...

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

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

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

发表评论

访客

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