weex 源碼目錄說明

weex-vue-framework

weex-vue-framework-directory.png

frameworks

驅(qū)動 weex 的 framework 代碼,

  • legacy: weex 在使用 vue 之前的 代碼
  • vanilla:

Vanilla JS 是一個快速、輕量級和跨平臺的框架用來構(gòu)建強(qiáng)大的 JavaScript 應(yīng)用程序。
JavaScript 框架,weex 版本里面沒有實現(xiàn)。

目前版本打包好的 framework 有四個,在 index.js 中看到,

import * as Vanilla from './vanilla/index'
import * as Vue from 'weex-vue-framework'
import * as Weex from './legacy/index'
import Rax from 'weex-rax-framework'

export default {
  Vanilla,
  Vue,
  Rax,
  Weex
}
  • weex-vue-framework: 就是 vue 驅(qū)動 weex 的 framework,源碼字 vue 倉庫。

  • rax :容器

render

渲染引擎

1、 native:

native 上的 weex 渲染引擎, 這里只是初始化入口,源文件: html5/frameworks/legacy,這個也是 在.we 使用的
framework,vue2.0 使用的 是 node_modules/weex_vue_framework/。

2、 weex-web-render

web 平臺 weex 渲染引擎, .we 在 web 平臺使用的 framework。

3、 weex-vue-render

web 平臺 vue weex 的組件庫

runtime

關(guān)鍵代碼,
1、初始化 framework
2、負(fù)責(zé)和 native 交互
3、vdom,定義 dom 節(jié)點(diǎn),各個 framework 都是 適配這個 來驅(qū)動 weex。
4、注冊 組件 和 module

1、vdom

定義 dom 節(jié)點(diǎn),各個 framework 都是 適配這個 來驅(qū)動 weex。

2、init.js

初始化 方法, 初始化 framework,createInstance,createServices

3、task-center

vdom 和 native 交互的代碼

4、config

將 Document,Element,Comment,Listener,TaskCenter,sendTasks 封裝到一個對象,傳入 framework 使用。

5、callback-manager

callback 管理類。js 調(diào)用 native 時,如果需要回調(diào),則回調(diào)方法會暫時存放在 這里,
native 調(diào)用 callback 回調(diào)時,vue-framework 的 callback 方法會調(diào)用 task-center 中的 callback,
這時候就從callback-manager 中取出對應(yīng)的 callback 執(zhí)行。

4、listener

weex 1.0 時代 的方法,現(xiàn)在已廢棄。

5、handler

Listener 對象的 handler,也是廢棄的。

services

1、broadcast-channel

全局廣播(才有 vue 之后,也廢棄了)

shared

公用代碼

vue

vue 源碼在 這里

vue-framework-directory.png

src/core

里面都是 vue 的核心代碼,渲染算法,vdom ,數(shù)據(jù)綁定 等等都在這里,

  1. components
  2. global-api
  3. instance
  4. observer
  5. util
  6. vdom

platforms/web

web 平臺 入口

platforms/weex

weex 平臺 入口

1.runtime

定義的 組件,模塊,初始化 Vue的入口。

  1. components

  2. directives

  3. modules

  4. node-ops.js

操作 node 的類。vue 核心庫中會調(diào)用 操作 node 會調(diào)用這里的方法,通過這個 node-ops 再把消息傳遞到 weex 中。

  1. patch.js

封裝 node-ops、modules ,傳遞到 vue/core 中

  1. text-node.js

文本節(jié)點(diǎn)。

2. util
3. entry-compiler.js

weex-vue build入口

4. entry-framework.js

weex 平臺

5. entry-runtime-factory.js

vue 核心庫的入口

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容