当前位置: 首页 > Web前端 > vue.js

we-scriptv1.0使微信小程序支持加载远程js

时间:2023-03-31 18:06:58 vue.js

we-script使微信小程序支持加载远程JavaScript脚本并执行组件,支持ES5语法Github地址:https://github.com/bplok20010/we-script如何使用小程序使用npm包,官方文档:https://developers.weixin.qq....npminstall--savewe-scriptstep1安装完成后点击菜单栏中的开发者工具:Tools-->Buildnpmstep2安装完成后,点击开发者工具中的菜单栏:Tools-->ProjectDetails-->LocalSettings-->[Check]Usethenpmmoduletoadddeclarationstothe需要使用的页面或组件的json文件。示例:index.json{"usingComponents":{"we-script":"we-script"}}index.wxmlhellowe-script注意:多个we-script会被并行加载并乱序执行,无法保证执行顺序。例如://并行加载和乱序执行如果你需要为了保证执行顺序,应该使用数组,例如:数组方法hellowe-scriptwe-script也支持嵌套,比如:hellowe-script注意:在嵌套we-script的情况下,we-script的加载和执行也是并行且无序的,因为小程序生命周期触发机制(BUG?),如果要保证嵌套模式下的顺序,需要自己手动控制。示例:hellowe-script重要提示:远程加载和执行代码产生的函数、变量和其他数据存储在we-script的默认上下文中。您可以通过onLoad事件获取默认上下文,也可以通过onInit事件自定义上下文。示例:we-script-demowe-script属性srctype:string|string[]加载文本类型的远程脚本:string|string[]待执行的JavaScript脚本字符串,text优先级高于src(互斥)timeout类型:number默认值:60000毫秒设置每个远程脚本加载超时缓存类型:boolean默认值:true是否启用加载缓存,缓存策略以当前请求地址为key,缓存周期为当前用户在使用过程中的生命周期。once类型:布尔值默认值:true具有相同上下文和相同地址的脚本只执行一次。我们编写事件onInit类型:(e)=>voidinterfaceOnInitDetail{getContext:()=>{};setContext:(context:{})=>void;}初始事件,监听该事件获取当前执行上下文或者自己定义执行上下文。示例://index.js{onInit(e){//自定义执行上下文e.detail.setContext({value:100})}}//index.wxmlonLoadtype:(e)=>voidinterfaceonLoadDetail{context:{};}加载执行成功后触发onError类型:(e)=>voidinterfaceonErrorDetail{error:any;}加载失败或执行错误后触发其他组件,使用eval5解析JavaScript语法。在ES5上支持生产环境之前,不要忘记为需要加载的地址配置合法域名we-script。内置类型和方法:NaN;Infinity;undefined;null;Object;Array;String;布尔值;数字;日期;正则表达式;错误;URIError;TypeError;RangeError;SyntaxError;ReferenceError;Math;parseInt;parseFloat;isNaN;isFinite;decodeURI;decodeURIComponent;encodeURI;encodeURIComponent;escape;unescape;eval;Function;console;setTimeout;clearTimeout;setInterval;clearInterval;wx;内置类型与当前运行的JavaScript环境有关,如果环境本身不支持,则不支持!