生命周期
说明
本文档主要介绍工作台的声明周期中有哪些阶段,每个阶段涉及的流程是什么,主要的内容是什么。
整个工作台的核心是配置表,路由的创建、UI层的渲染等都依赖于配置表,因此获取、校验、初始化配置表成为了工作台生命周期最开始的部分。
工作台将输出每个阶段的用时,如下图:
详细流程请参考下面的流程图。
完整的生命周期示意图
详细介绍
生命周期 | 说明 | 相关流程 |
---|---|---|
Created | 新建实例 | 无 |
ConfigReceived | 获取配置表成功 | getConfig |
ConfigValidated | 配置表校验成功 | validateConfig |
StoreInited | 状态管理器初始化完成 | initConfig |
RouterInited | 路由初始化完成 | initRouter |
ViewModelInited | 页面模型初始化完成 | initViewModel |
Ready | 实例初始化完成 | 无 |
Created
创建工作台实例时将自动进入Created阶段,此时算作工作台的起点。工作台实例创建后,将执行初始化状态管理器的操作(基于Vuex),关于配置表的获取、校验、初始化,将在状态管理器的初始化中完成。
// 创建工作台实例
new Workbench();
ConfigReceived
获取配置表成功后将进入ConfigReceived阶段,此时可从控制台看出获取配置表的用时。
ConfigValidated
得到配置表后,将对配置表进行校验,主要校验内容为一些关键的结构,例如:配置表是否为对象类型;配置表下是否有static、dist、workbench这几个key等等。如果校验通过,则进入ConfigValidated阶段。
StoreInited
配置表校验完成后,将对配置表进行初始化操作,包括:
- 初始化工作台渲染数据
- 合并页默认配置
- 合并模块默认配置
- 合并元素默认设置
- 初始化元素的值
- 初始化可选模块数据
- 初始化特殊类型数据
完成以上操作后将进入StoreInited阶段,至此工作台的状态管理器初始化完毕,同时配置表初始化完成。
RouterInited
此阶段将根据配置表进行路由的初始化(基于Vue-Router),为对应的页面创建路由。路由默认指向第一个页面。完成以上操作后进入RouterInited阶段。
ViewModelInited
此阶段将创建页面模型(基于Vue),根据配置表进行UI层的渲染。完成页面模型的初始化后,进入ViewModelInited阶段。
Ready
完成以上操作后,整个工作台已经初始化完毕,进入Ready阶段。