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

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

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

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

相关文章

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

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

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

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

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

外卖CPS小程序被封,我的一些感想

外卖CPS小程序被封,我的一些感想

最近在关注的一个外卖CPS小程序突然被封了,封禁理由是: 该小程序由于涉及账号无实质内容及服务,且主要目的为其他账号进行推荐、推广、导流等。 我们单纯从这个封禁理由来分析,就会发现这个封禁理由适用范围挺广的,比如我们常见的电商C...

php学习

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

gitbook常用插件及模板变量使用技巧分享

归纳整理了一些在gitbook中比较实用的一些插件和相关配置,记录如下: { "plugins": [//插件信息 "back-to-top-button",//回到顶部...

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

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

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

发表评论

访客

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