作家
登录

微信小程序架构分析 (上)

作者: 来源: 2017-06-09 12:02:45 阅读 我要评论

"./modified_modules/*" -exec js-beautify -r -s 2 -p -f '{}' \;  
  • 注释掉落文件 app/dist/app.js 44 行和app/dist/components/simulator/webviewbody.js 149 行preventDefault 调用。101100 版本还须要修改 package.json 文件,去掉落 --disable-devtools。

履行完以上操作就可以右键打开页面的调试面板了,须要特别留意的是,应用 view 页面的面板后会导致 wxml 面板弗采取,touch 事宜无法响应等各种问题,请慎重应用。

经由过程代码可以发明,在设备目次下添加 config.json 文件,然后参加{isDev:true} 可以启用开辟者对象所谓的调试模式, 然则我在设备后法度榜样无法正常启动,只好临时先放弃这种方法。

小法度榜样重要模块构成

懂得了以上机制,再对 view 模块和 service 模块的 WeixinJSBridge 加以改革,我们便不难做到让 小法度榜样跑在本身的情况下,如许就可以做些手机调试以及单页面测试等操作。

小法度榜样自成分为两个重要部分自力运行:view 模块和 service 模块。在开辟者对象中,它们自力运行于不合的 webivew tag 中。

view 模块负责 UI 显示,它由开辟者编写的 wxml 和 wxss 转换后代码以及微信供给相干帮助模块构成。 一个 view 模块对应一个 webview 组件(也就是我们惯例懂得的一个页面), 小法度榜样支撑同时多个 view 存在。view 模块经由过程 WeixinJSBridge 对象来跟后台通信。

service 模块负责应用的后台逻辑,它由小法度榜样的 js 代码以及微信供给的相干帮助模块构成。 一个应用只有一个 service 过程,它同样也是一个页面(至少在开辟者对象内如斯,上线后可能运行于 WeixinJSCore 之内),与 view 模块不合的是,它在法度榜样生命周期内后台运行,service 模块经由过程与 view 模块实现不合但接口格局一样的 WeixinJSBridge 对象跟后台通信。

小法度榜样模块间通信

(开辟者对象内各模块通信图)

做过微信开辟相干的开辟者会对 WeixinJSBridge 这个对象有所懂得,它就是负责 UI 与后台 进行交互的一个中心层。应用号的 WeixinJSBridge 比拟与之前的微信 webview 多出 publish 和 subscribe 两个公共办法来宣布和订阅事宜,大年夜而进行双向通信。

service 模块的 WeixinJSBridge 对象在文件app/dist/weapp/appservice/asdebug.js 中定义, view 层的 WeixinJSBridge 在文件 app/dist/inject/jweixindebug.js 中定义。 尽管两者都应用一样的接口以及应用 postMessage 办法与后台通信,然则其内部所做的工作确是完全不合的, 例如 service 模块可以直接经由过程 prompt 办法来经由过程 prompt调起底层组件,而 view 层的 WeixinJSBridge 只能发送消息 (参考 H5与Native交互之JSBridge技巧)。

我们来看一个典范的交互流程:

1.用户点击界面触发事宜

2.对应 view 模块接收事宜后将事宜封装成所需格局后调用 publish 办法发送:

data 参数举例:

  1. "data": { 
  2.   "eventName""onhidetap"
  3.   "data": { 
  4.     "target": { 
  5.       ... 
  6.     }, 
  7.     "currentTarget": { 
  8.       ... 
  9.     }, 
  10.     "type""tap"
  11.     "timeStamp": 11457, 
  12.     "touches": [ ...  ], 
  13.     "detail": { 
  14.       ... 
  15.     } 
  16.   } 
  17. }, 
  18. "options": { 
  19.   "timestamp": 1475445858336 

  20.   推荐阅读

      微服务架构的两大解耦利器与最佳实践

    本文将与大年夜家谈谈这个问题,以及微办事架构的两大年夜解耦利器设备中间和消息总线的最佳实践。 task2订阅“task1 done”的消息,收到消息后第一时光启动履行,停止后发一个&>>>详细阅读


    本文标题:微信小程序架构分析 (上)

    地址:http://www.17bianji.com/lsqh/35672.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)