vue的版本是:^2.6.10

结构如下:

|----- vue
| |--- dist # 打包之后的目录vue文件
| | |--- vue.common.dev.js
| | |--- vue.common.js
| | |--- vue.common.prod.js
| | |--- vue.esm.browser.js
| | |--- vue.esm.browser.min.js
| | |--- vue.esm.js
| | |--- vue.js
| | |--- vue.min.js
| | |--- vue.runtime.common.dev.js
| | |--- vue.runtime.common.js
| | |--- vue.rintime.common.prod.js
| | |--- vue.runtime.esm.js
| | |--- vue.runtime.js
| | |--- vue.runtime.min.js
| |--- src
| | |--- compiler # 模板解析相关的文件
| | | |--- codegen # 根据Ast 生成 render 函数
| | | | |--- events.js
| | | | |--- index.js
| | | |--- directives # 生成 render 函数之前需要处理的指令
| | | | |--- bind.js
| | | | |--- index.js
| | | | |--- model.js
| | | | |--- on.js
| | | |--- parser # 模板解析
| | | | |--- entity-decoder.js
| | | | |--- filter-parser.js
| | | | |--- html-parser.js
| | | | |--- index.js
| | | | |--- text-parser.js
| | | |--- codeframe.js
| | | |--- create-compiler.js
| | | |--- error-detector.js
| | | |--- helpers.js
| | | |--- index.js
| | | |--- optimizer.js
| | | |--- to-function.js
| | |---- core
| | | |--- components # 全局组件 目前只有 keep-alive
| | | | |--- index.js
| | | | |--- keep-alive.js
| | | |--- global-api # 全局方法 添加到vue上的方法
| | | | |--- assets.js
| | | | |--- extends.js
| | | | |--- index.js
| | | | |--- mixin.js
| | | | |--- use.js
| | | |--- instance # 实列相关的内容 包括实列方法。生命周期,事件等。
| | | | |--- render-helpers
| | | | | |--- bind-dynamic-keys.js
| | | | | |--- bind-object-listeners.js
| | | | | |--- bind-object-props.js
| | | | | |--- check-keycodes.js
| | | | | |--- index.js
| | | | | |--- render-list.js
| | | | | |--- render-slot.js
| | | | | |--- render-static.js
| | | | | |--- resolve-filter.js
| | | | | |--- resolve-scoped-slots.js
| | | | | |--- resolve-slots.js
| | | | |--- events.js
| | | | |--- index.js
| | | | |--- init.js
| | | | |--- inject.js
| | | | |--- lifecycle.js
| | | | |--- proxy.js
| | | | |--- render.js
| | | | |--- state.js
| | | |--- observer # 数据双向绑定文件
| | | | |--- array.js
| | | | |--- dep.js
| | | | |--- index.js
| | | | |--- scheduler.js
| | | | |--- traverse.js
| | | | |--- watcher.js
| | | |--- util # 工具方法
| | | | |--- debug.js
| | | | |--- env.js
| | | | |--- error.js
| | | | |--- index.js
| | | | |--- lang.js
| | | | |--- next-tick.js
| | | | |--- options.js
| | | | |--- perf.js
| | | | |--- props.js
| | | |--- vdom # 虚拟dom相关的
| | | | |--- helpers
| | | | | |--- extract-props.js
| | | | | |--- get-first-component-child.js
| | | | | |--- index.js
| | | | | |--- is-async-placeholder.js
| | | | | |--- merge-hook.js
| | | | | |--- normalize-children.js
| | | | | |--- normalize-scoped-slots.js
| | | | | |--- resolve-async-component.js
| | | | | |--- update-listeners.js
| | | | |--- modules
| | | | | |--- directives.js
| | | | | |--- index.js
| | | | | |--- ref.js
| | | | |--- create-component.js
| | | | |--- create-element.js
| | | | |--- create-functional-component.js
| | | | |--- patch.js
| | | | |--- vnode.js
| | | |--- config.js # 入口配置文件
| | | |--- index.js
| | |--- platforms # 平台相关的
| | | |--- web # web平台
| | | | |--- compiler # 编译期间需要处理的指令和模块
| | | | | |--- directives # 指令
| | | | | | |--- html.js
| | | | | | |--- index.js
| | | | | | |--- model.js
| | | | | | |--- text.js
| | | | | |--- modules # 模块
| | | | | | |--- class.js
| | | | | | |--- index.js
| | | | | | |--- model.js
| | | | | | |--- style.js
| | | | | |--- index.js
| | | | | |--- options.js
| | | | | |--- util.js
| | | | |--- runtime # 运行阶段处理的组件、指令和模块
| | | | | |--- components # 相关的组件
| | | | | | |--- index.js
| | | | | | |--- transition-group.js
| | | | | | |--- transition.js
| | | | | |--- directives # 相关的指令
| | | | | | |--- index.js
| | | | | | |--- model.js
| | | | | | |--- show.js
| | | | | |--- modules # 相关的模块
| | | | | | |--- attrs.js
| | | | | | |--- class.js
| | | | | | |--- dom-props.js
| | | | | | |--- events.js
| | | | | | |--- index.js
| | | | | | |--- style.js
| | | | | | |--- transition.js
| | | | | |--- class-util.js
| | | | | |--- index.js
| | | | | |--- node-ops.js
| | | | | |--- patch.js
| | | | | |--- transition-util.js
| | | | |--- server # 服务端渲染的指令和模块
| | | | | |--- directives # 指令
| | | | | | |--- index.js
| | | | | | |--- model.js
| | | | | | |--- show.js
| | | | | |--- modules # 模块
| | | | | | |--- attrs.js
| | | | | | |--- class.js
| | | | | | |--- dom-props.js
| | | | | | |--- index.js
| | | | | | |--- style.js
| | | | | |--- compiler.js
| | | | | |--- util.js
| | | | |--- util
| | | | | |--- attrs.js
| | | | | |--- class.js
| | | | | |--- compat.js
| | | | | |--- element.js
| | | | | |--- index.js
| | | | | |--- style.js
| | | | |--- entry-compiler.js
| | | | |--- entry-runtime-with-compiler.js
| | | | |--- entry-runtime.js
| | | | |--- entry-server-basic-renderer.js
| | | | |--- entry-server-renderer.js
| | | |--- weex # weex平台
| | |--- server
| | | |--- bundle-renderer
| | | | |--- create-bundle-renderer.js
| | | | |--- create-bundle-runner.js
| | | | |--- source-map-support.js
| | | |--- optimizing-compiler
| | | | |--- codegen.js
| | | | |--- index.js
| | | | |--- modules.js
| | | | |--- optimizer.js
| | | | |--- runtime-helpers.js
| | | |--- template-renderer
| | | | |--- create-async-file-mapper.js
| | | | |--- index.js
| | | | |--- parse-template.js
| | | | |--- template-stream.js
| | | |--- webpack-plugin
| | | | |--- client.js
| | | | |--- server.js
| | | | |--- util.js
| | | |--- create-basic-renderer.js
| | | |--- create-renderer.js
| | | |--- render-context.js
| | | |--- render-stream.js
| | | |--- render.js
| | | |--- util.js
| | | |--- write.js
| | |--- sfc
| | | |--- parser.js
| | |--- shared
| | | |--- constants.js
| | | |--- util.js
| |
| |--- types
| | |--- index.d.ts
| | |--- options.d.ts
| | |--- plugin.d.ts
| | |--- vnode.d.ts
| | |--- vue.d.ts
| |--- package.json
| |--- README.md

如上是 vue2.6.10版本所有的js目录结构

1. src/compiler: 该目录包含Vue.js所有编译相关的代码,包括把模板解析成AST语法树、及 AST语法树优化、代码生成等功能。

src/compiler/codegen: 把AST转换成Render函数。
   src/compiler/parser: 解析模板成AST。
   src/compiler/directives: 生成 Render 函数之前需要处理的指令。

2. src/core: 该目录包含了Vue.js的核心代码,包括内置组件、全局API封装、Vue实列化、观察者、虚拟DOM、工具函数等。

src/core/components: 组件相关的属性,目前这里只有keep-alive组件
   src/core/global-api: Vue的全局api, 比如 Vue.extend、Vue.mixin.
   src/core/instance: 实例化相关的。比如 生命周期、事件等。
   src/core/observer: Vue响应式数据相关的目录。
   src/core/util: Vue相关的工具方法目录。
   src/core/vdom: 虚拟dom相关的内容。

3. src/platforms: platforms 是Vue.js的入口文件,有2个入口文件 web 和 weex,分别打包运行在 web或 weex 平台上的。

src/platforms/web 平台上的(src/platforms/weex 也是一样的意思)。
   src/platforms/web/compiler: web端编译器相关的代码,用来编译模板成Render函数。
   src/platforms/web/runtime: web端运行时相关的代码,用来创建Vue实列等操作。
   src/platforms/web/util: 相关工具类。
   src/platforms/web/server: 服务器端渲染相关的。

4. src/server: Vue2.0+ 为了支持服务器端渲染,所有服务器端渲染相关的逻辑都放在这个目录下。

5. src/sfc:   该目录下的代码逻辑会把 .vue 文件内容解析成一个 javascript 的对象。

src/sfc/parser.js: 转换单文件组件(*.vue) 解析成一个javascript对象。

6. src/shared: 该目录下会定义一些工具方法。这些工具方法会被浏览器端 Vue.js 和 服务器端 Vue.js所共享的。

最新文章

  1. SVM系列之拉格朗日对偶
  2. ReactiveCocoa学习总结
  3. WinForm------RepositoryItemCheckEdit属性介绍
  4. iOS 数组内中英文混合排序
  5. Java for LeetCode 072 Edit Distance【HARD】
  6. Intent官方教程(4)用Intent构造应用选择框
  7. Jsoup 的认识和简单使用
  8. 小图用 imageNamed: 大图用 dataWithContentsOfFile:options
  9. 解决TortoiseGit 推送 拉取需要密码的问题
  10. Mybatis框架(未完待续)
  11. elasticsearch 操作
  12. 复制数组之System.arraycopy()的使用
  13. anglar cli的 rxjs_1.of is not a function
  14. CSS 基础 例子 伪元素和伪类 & 区别
  15. scrapy shell命令的【选项】简介
  16. 如何保证Redis中的数据都是热点数据
  17. HDU 3635 Dragon Balls(超级经典的带权并查集!!!新手入门)
  18. 在Centos 7 上面 安装MySQL 5.7 简录
  19. POJ_2010 Moo University - Financial Aid 【堆预处理】
  20. Python的异常

热门文章

  1. [Pandas] 03 - DataFrame
  2. JavaScript之时间对象Date
  3. Docker下实战zabbix三部曲之三:自定义监控项
  4. Android Studio [Toast]
  5. 接口是什么?接口长什么样?java的Interface
  6. F#周报2019年第39期
  7. Julia初学备忘
  8. 阿里云服务器CentOS6.9 nexus私服使用
  9. Linux 远程登录命令telnet
  10. 玩转 SpringBoot 2 快速整合拦截器