Skip to content

Latest commit

 

History

History
43 lines (34 loc) · 4.19 KB

File metadata and controls

43 lines (34 loc) · 4.19 KB

@mpxjs/core

Mpx 框架的运行时核心,提供响应式系统、组件/页面/应用生命周期、跨平台 patch 与 composition API。

入口文件

  • src/index.js:聚合导出 createApp / createPage / createComponent / nextTick / 生命周期常量与组合式 API;同时 re-export @mpxjs/store
  • src/runtime/mpx.js:CommonJS 兼容入口,转发 src/index.js 的 default 导出(即 Mpx 单例)。
  • @types/index.d.ts:对外 TS 类型声明,供使用方 IDE/类型检查使用。

核心模块

典型调用链

  1. 应用启动:用户代码 createApp(options)src/platform/createApp.js → 通过 transferOptions 跨端转换 → 注入 injectMixins → 由具体平台运行(小程序原生 / Web Vue / RN createApp.ios.js)。
  2. 页面/组件实例化createPage / createComponent → 创建 MpxProxycore/proxy.js)→ mergeOptions 合并配置 → observer/reactive 建立响应式 → 派发 BEFORECREATE / CREATED 等生命周期。
  3. 响应式更新:data / setup 中的状态变更 → dep.notifyeffect 进入 scheduler 队列 → nextTick 刷新 → 触发 setData(小程序)或重新 render(Web/RN)。
  4. 跨端构建期路由:构建工具命中 __mpx_mode__ / .ios.js 后缀 / convertor 表,将同一份 options 适配到目标平台运行时。

注意

  • 运行时代码禁止使用对象 spread 合并,统一使用 Object.assign@mpxjs/utilsextend/merge
  • 新增对外 API 需要同步维护 @types/index.d.ts
  • 跨端逻辑差异优先放进 platform/ 或通过 __mpx_mode__ 分支,不要污染 core/ / observer/