欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索:   农业种植  农业  安全设置  织梦
258资源分享 > 建站学院 > 微信开发 > 微信小程序使用第三方库报错的问题

推荐下载

html5响应式外贸网站英文版

2020-05-08   浏览:270

高端HTML5响应式企业通用网

2020-05-06   浏览:235

HTML5自适应律师工作室类网

2020-04-04   浏览:234

响应式建筑工程装修施工

2020-01-14   浏览:232

响应式电子元件电路板类

2020-01-10   浏览:230

微信小程序使用第三方库报错的问题

发布时间:2020-11-22  

最近在学习微信小程序的开发,在一个练手项目中,需要使用一个第三方开源的库xmorse.js,在使用是调用了xmorse.js中的一个方法decode(),结果出现如下报错:

 

WAService.js:3 thirdScriptError

decode is not defined;at "pages/xmorse/xmorse" page

lifeCycleMethod onLoad function

ReferenceError: decode is not defined

......

后来查了一下微信小程序开发文档,发现在引入第三方库时需要暴露接口,而且第三方库内不能使用window等对象。

小程序开发文档Q&A

为什么脚本内不能使用window等对象?

页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件  所以自己又在网上寻找解决方法,最后发现了一种解决办法,具体是参考segmentfault上的一篇文章微信小程序开发实战——使用Immutable.js,照着上面自己慢慢的修改最终解决了这个问题

原始的库:

 

!function (root, factory) {

if (typeof module === 'object' && module.exports) {

module.exports = factory(root); // nodejs support

module.exports['default'] = module.exports; // es6 support

}

else

root.xmorse = factory();

}(typeof window !== 'undefined' ? window : this,

function () {

// Map of Morse code patterns to supported characters.

......

修改后的库:

 

!function (global, factory) {

module.exports = factory();

}(this,

function () {

// Map of Morse code patterns to supported characters.

......

这样修改后就可以正常使用库函数了。