nodom2
nodom是一个前端mvvm框架,于2017年发布版本1.0,经过几个webapp开发后,综合使用过程中的问题, 现升级为2.0,用ES6进行了重新架构,主要区别如下:
- 转json格式的虚拟dom;
- class抽取;
- 增加工厂的使用;
- 简化view结构;
- 简化model结构;
- 取消插件,统一为自定义指令;
- 增加对象的序列化和反序列化,便于对象存储和还原,也会更好支持预编译功能;(实现中)
- 增加工作流引擎,降低页面间耦合度(实现中)。
使用方式和nodom1相似,取消了DD命名空间,全部改为nodom。
nodom2核心文件在js目录下,core目录存放原始文件,bin目录存放合并文件;examples存放例子文件(持续更新中)
-
base.js: nodom基础类,用于提供基础方法集
-
class.js: 主要模拟java class类,用于类的实例化,主要用于反序列化
-
compiler.js: 编译类,用于编译html串
-
config.js: 基础配置
-
directive.js: 指令类
-
directivefactory.js: 指令工厂,用于管理指令实例
-
directivemanager.js: 指令管理器,用于管理指令类型
-
element.js: 虚拟dom类
-
error.js: 异常处理类
-
exprssion.js: 表达式类
-
expressionfactory.js: 指令工厂类,用于管理表达式实例
-
factory.js: 工厂基类
-
filter.js: 过滤器类
-
filterfactory.js: 过滤器工厂类,用于管理过滤器实例
-
filtermanager.js: 过滤器管理器,用于管理过滤器类型
-
linker: 链式操作器,包括ajax,ajax get多个文件,异步操作串行执行
-
messagefactory.js: 消息工厂,用于消息收发
-
methodfactory.js: 方法工厂,每个模块一个
-
model.js: 数据模型
-
modelfactory.js: 模型工厂,用于管理数据模型实例
-
module.js: 模块类
-
modulefactory.js: 模块工厂,用于管理模块实例
-
renderer.js: 渲染器
-
router.js: 路由器
-
scheduler.js: 调度器类
-
extend/classinit.js: 类初始化,为反序列化服务
-
extend/directiveinit.js: 指令类型初始化
-
extend/exposemethods: 以nodom命名空间暴露的方法
-
filterinit.js: 过滤器类型初始化
-
locales 国际化支持
请参考examples目录