没有合适的资源?快使用搜索试试~ 我知道了~
首页微信小程序require 引用 BASE64.JS 失败问题的分析解决
微信小程序require 引用 BASE64.JS 失败问题的分析解决
需积分: 38 518 浏览量
更新于2023-05-29
评论
收藏 42KB PDF 举报
# 问题 有朋友问, 微信小程序require ('base64.js')文件时,会失败,,, # 分析 事实上,微信小程序require很多JS模块都有不兼容现象。。。先从base64.js这个模块入手吧。 调试出错点: ~~~~ (function(global) { 'use strict'; // existing version for noConflict() var _Base64 = global.Base64; // 这句出错了...变量global的值是传入的this指针值,this指针为空了. var version = "2.1.9"
资源详情
资源评论
资源推荐

微信小程序微信小程序require 引用引用 BASE64.JS 失败问题的分析解决失败问题的分析解决
# 问题
有朋友问, 微信小程序require ('base64.js')文件时,会失败,,,
# 分析
事实上,微信小程序require很多JS模块都有不兼容现象。。。先从base64.js这个模块入手吧。
调试出错点:
~~~~
(function(global) {
'use strict';
// existing version for noConflict()
var _Base64 = global.Base64; // 这句出错了...变量global的值是传入的this指针值,this指针为空了.
var version = "2.1.9";
// if node.js, we use Buffer
var buffer;
~~~~
调试了一下,主要现象
base64.js 代码里面假定了this指定非空。微信小程序require调入进来后,this指针为空,就会抛出异常。
# 处理
知道这个修改就较容易了:
两处改动:
一 避免global为空指针
~~~~
代码头部几行
(function(global) {
'use strict';
// existing version for noConflict()
var _Base64 = global.Base64;
var version = "2.1.9";
~~~
添加两行改为
~~~
(function(global) {
'use strict';
// existing version for noConflict()
var _Base64 = global.Base64;
var version = "2.1.9";
if (!global)
global = {}
~~~
二 添加module.exports
~~~
文件尾部几行
}
// that's it!
if (global['Meteor']) {
Base64 = global.Base64; // for normal export in Meteor.js
}
})(this);
~~~
添加一行
~~~
}
// that's it!
if (global['Meteor']) {


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0