微信小程序内部那些事
Posted 恪愚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序内部那些事相关的知识,希望对你有一定的参考价值。
- 微信小程序没有
window
、document
,它更像是一个类似 Node.js 的宿主环境。因此在小程序内部不能使用document.querySelector
这样的选择器,也不支持XMLHttpRequest
、location
、localStorage
等浏览器 API,只能使用小程序自己提供的 API; - 小程序不是直接 URL 访问的,而是通过信道服务进行通信和会话管理。所以不支持 Cookie!使用
wx.request
时不存在跨域问题; - 和 Node 一样,小程序的 js 模块化加载采用 CommonJS 规范,通过
require
加载; - 小程序是基于“数据驱动”模式的,但是它是“单向数据流”的绑定方式;
小程序架构
微信小程序分为“视图层”和“逻辑层”。视图层是在 webview 中渲染,逻辑层则用 javascriptCore 来渲染。其中视图层可以有多个,但逻辑层则只有一个。
小程序中视图层负责页面渲染,逻辑层负责逻辑处理、状态管理、请求和接口调用。逻辑层和视图层的通信是通过微信的 JSBridge 实现的。
Native 中有一个 WeixinJSBridge 模块。所以也可以说是通过 Native 通信的。
逻辑层数据变化通过 JSB 通知到视图层,触发视图层更新;当视图层触发事件则继续通过 JSB 将事件通知到逻辑层做处理。
WeixinJSB 在开发者工具、ios 和 android 的实现机制不同。在调用 Native 能力时主要使用 <
以上是关于微信小程序内部那些事的主要内容,如果未能解决你的问题,请参考以下文章