示例代码:wxGetRemoteJS
需要打开增强编译和允许访问
核心代码
// 主要是依赖了eval5
import {Interpreter} from "../../utils/eval5/interpreter/main";
let res = await this.lodaJS('https://onein.7coder.top/lib/dayjs.min.js', 'dayjs')
// res ...
loadJS(url, type) {
let obj = {}
return new Promise((resolve, reject) => {
wx.request({
url,
success(res) {
// 常用的函数传进去
var interpreter = new Interpreter(obj, {
timeout: 2000,
rootContext: {
console: console,
setTimeout: setTimeout,
clearTimeout: clearTimeout,
setInterval: setInterval,
clearInterval: clearInterval,
wx: typeof wx === "undefined" ? undefined : wx,
globalContextInFunction: obj
}
});
// 只能解析es5 不需要mudel.export 直接能拿到里面的内容
interpreter.evaluate(res.data);
resolve(obj[type])
}
})
})
},