基础库
- 小程序的基础库由 Javascript 编写,负责数据绑定,组件系统,通信等系统的运行
- 提前置于微信客户端
- 比较版本库的正确方法:
function compareVersion(v1, v2) {
v1 = v1.split('.')
v2 = v2.split('.')
var len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (var i = 0; i < len; i++) {
var num1 = parseInt(v1[i])
var num2 = parseInt(v2[i])
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
compareVersion('1.11.0', '1.9.9')
compareVersion('1.11.0', '1.11.0')
compareVersion('1.11.0', '1.99.0')
- 小程序基础库的更新,一般基于微信版本的灰度推送,周期一般为 12H。也就是新版本的微信会携带稳定版本的(上个版本)的小程序基础库,经过监控异常,待稳定之后,再推送新的基础库,然后更新小程序的文档
小程序开发者工具
- 小程序开发者工具是基于 nw.js 的跨平台工具(nw类似于 electron 一种桌面端的跨平台解决方案)
- 微信开发者工具模拟器运行的代码只经过本地的预处理,没有经过服务器的编译过程。而真正在 native 里运行的代码时额外进过服务器编译的代码
编译 wxml
- 小程序的渲染环境是一个 webview,而 webview 无法直接理解 wxml 标签,需要经过编译
- 小程序开发者工具编译 wxml 之后,输出 javascript 代码(函数),然后预先注入在 webview 中,根据路径生成对应的 html(除了原生组件外,wxml 最终生成的是 HTML)
开发体验调试 http
- 小程序开发者工具中,打开“不校验合法域名及 https”证书
- 真机调试,选择“打开调试”,并重新启动小程序