ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] * * * * * # 0 主体目录 > 主体目录模块组织按照文件导入关系组织 > 源代码的组织在框架流程中详细介绍 > 模块的依赖关系以modern版本分析为主 # 1 入口文件 ## 1 入口文件 ~~~ src\ avalon.js ;兼容版本入口 avalon.modern.js ;modern版本入口 avalon.next.js ;next版本入口 avalon.test.js ;测试目录 ~~~ ## 2 模块组织 ~~~ src\avalon.modern.js var avalon = require('./seed/modern') ;核心入口 require('./filters/index') ;过滤器入口 require('./vdom/index') ;虚拟dom入口 require('./dom/modern') ;dom操作入口 require('./directives/modern') ;过滤器入口 require('./strategy/index') ;同步策略 require('./vmodel/modern') ;vmodel入口 avalon.onComponentDispose = require('./component/dispose.modern') ;组件入口 module.exports = avalon ~~~ # 2 核心目录(src\seed\\) ~~~ src\seed\modern.js var avalon = require('./core') ;核心功能 var browser = require('./browser') ;浏览器接口 avalon.shadowCopy(avalon, browser) ;合并接口 require('./lang.modern') ;语言接口 require('./lang.share') ;语言工具 require('./config') ;配置内容 module.exports = avalon ~~~ # 3 过滤器目录(src\filters\\) ~~~ src\filters\index.js var number = require("./number") ;数字过滤器 var escape = require("./escape") ;字符串转移 var sanitize = require("./sanitize") ;生成js操作 var date = require("./date") ;日期过滤器 var arrayFilters = require("./array") ;数组过滤器 var eventFilters = require("./event") ;事件过滤器 var filters = avalon.filters ;注册过滤器 ~~~ # 4 虚拟dom目录(src\vdom\\) ~~~ src\vdom\index.js ;虚拟dom的api var VText = require('./VText') ;虚拟文本节点 var VComment = require('./VComment') ;虚拟注释节点 var VElement = require('./VElement') ;虚拟元素节点 ~~~ # 5 dom目录 ~~~ src\dom\modern.js ;dom的api入口 require('./shim/modern') ;浏览器修正 require('./class/modern') ;class操作 require('./attr/modern') ;attr操作 require('./css/modern') ;css操作 require('./val/modern') ;form操作 require('./html/index') ;html操作 require('./event/modern') ;event操作 require('./ready/modern') ;domready注册 ~~~ # 5 指令目录(src\\directives\\) ~~~ src\directives\modern.js //vm.id require('./important') ;important指令解析比较更新 require('./controller') ;controller指令解析比较更新 //处理属性样式 require('./attr.modern') ;attr指令比较更新 require('./css') ;css指令比较更新 require('./visible') ;visible指令比较更新 //处理内容 require('./expr') ;expr表达式解析比较刷新 require('./text') ;text指令解析比较刷新 require('./html') ;html指令解析比较刷新 //需要用到事件的 require('./class.hover.active') ;class事件比较刷新 require('./on') ;on事件解析比较刷新 require('./duplex/modern') ;数据双向绑定解析比较刷新 require('./validate') ;注册数据验证对比刷新验证处理 require('./rules') ;数据输入规则解析对比 //处理逻辑 require('./if') ;if指令 require('./for') ;for指令 //组件动画 require('./widget') ;widget组件解析 require('./effect') ;effect动画解析比较刷新 ~~~ # 6 刷新策略目录(src\strategy\\) ~~~ ;src\strategy\index.js avalon.lexer = require('./lexer') ;html字符串解析 avalon.diff = require('./diff') ;节点对比 avalon.batch = require('./batch') ;批量刷新挂载 var parseView = require('./parser/parseView') ;模板解析入口 ~~~ # 7 vmodel目录 ~~~ ;src\vmodel\modern.js var share = require('./parts/modern') ;vmodel接口 ;src\vmodel\parts\modern.js ;vmodel接口 var share = require('./share') ;接口 ;src\vmodel\parts\share.js ;接口 var $$skipArray = require('./skipArray') ;skipArray接口 var dispatch = require('./dispatch') ;dispatch接口 ;定义avalon.define() ~~~