Maison >interface Web >js tutoriel >Une analyse simple de la structure des répertoires du code source de Vue
Ce que cet article vous apporte est une simple analyse de la structure des répertoires du code source de Vue. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Version Vue : 2.6.9
Schéma de structure du code source
├─ .circleci // 包含CircleCI持续集成/持续部署工具的配置文件 ├─ .github // 项目相关的说明文档,上面的说明文档就在此文件夹 ├─ benchmarks // 基准,性能测试文件,Vue的跑分demo,比如大数据量的table或者渲染大量SVG ├─ dist // 构建后输出的不同版本Vue文件(UMD、CommonJS、ES 生产和开发包) ├─ examples // 部分示例,用Vue写的一些小demo ├─ flow // flow 因为Vue使用了 [Flow](https://flow.org/) 来进行静态类型检查,静态类型检查类型声明文件 ├─ packages // 包含服务端渲染和模板编译器两种不同的NPM包,是提供给不同使用场景使用的 ├─ scripts // 存放npm脚本配置文件,结合webpack、rollup进行编译、测试、构建等操作(使用者不需要关心) │ ├─ alias.js // 模块导入所有源代码和测试中使用的别名 │ ├─ config.js // 包含在'dist/`中找到的所有文件的生成配置 │ ├─ build.js // 对 config.js 中所有的rollup配置进行构建 ├─ src // 主要源码所在位置,核心内容 │ ├─ compiler // 解析模版相关 │ ├─ codegen // 把AST转换为Render函数 │ ├─ directives // 通用生成Render函数之前需要处理的指令 │ ├─ parser // 解析模版成AST │ ├─ core // Vue核心代码,包括内置组件,全局API封装,Vue 实例化,观察者,虚拟DOM, 工具函数等等。 │ ├─ components // 组件相关属性,主要是Keep-Alive │ ├─ global-api // Vue全局API,如Vue.use,Vue.extend,Vue.mixin等 │ ├─ instance // 实例化相关内容,生命周期、事件等 │ ├─ observer // 响应式核心目录,双向数据绑定相关文件 │ ├─ util // 工具方法 │ └─ vdom // 包含虚拟DOM 创建(creation)和打补丁(patching) 的代码 │ ├─ platforms // 和平台相关的内容,Vue.js 是一个跨平台的MVVM 框架(web、native、weex) │ ├─ web // web端 │ ├─ compiler // web端编译相关代码,用来编译模版成render函数basic.js │ ├─ runtime // web端运行时相关代码,用于创建Vue实例等 │ ├─ server // 服务端渲染 │ └─ util // 相关工具类 │ └─ weex // 基于通用跨平台的 Web 开发语言和开发经验,来构建 Android、iOS 和 Web 应用 │ ├─ server // 服务端渲染(ssr) │ ├─ sfc // 转换单文件组件(*.vue) │ └─ shared // 全局共享的方法和常量 ├─ test // test 测试用例 ├─ types // Vue新版本支持TypeScript,主要是TypeScript类型声明文件 ├─ node_modules // npm包存放目录 |-- .babelrc.js // babel配置 |-- .editorconfig // 文本编码样式配置文件 |-- .eslintignore // eslint校验忽略文件 |-- .eslintrc.js // eslint配置文件 |-- .flowconfig // flow配置文件 |-- .gitignore // Git提交忽略文件配置 |-- BACKERS.md // 赞助者信息文件 |-- LICENSE // 项目开源协议 |-- package.json // 依赖 |-- README.md // 说明文件 |-- yarn.lock // yarn版本锁定文件
Comparaison des différentes versions de build de Vue
UMD | CommonJS | ES Module (基于构建工具使用) | ES Module (直接用于浏览器) | |
---|---|---|---|---|
完整版 | vue.js | vue.common.js | vue.esm.js | vue.esm.browser.js |
只包含运行时版 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | - |
完整版 (生产环境) | vue.min.js | - | - | vue.esm.browser.min.js |
只包含运行时版 (生产环境) | vue.runtime.min.js | - | - | - |
Explication des termes
Version complète : une version qui inclut à la fois le compilateur et le runtime.
Compilateur : code utilisé pour compiler des chaînes de modèles dans des fonctions de rendu JavaScript.
Runtime : Code utilisé pour créer des instances Vue, rendre et traiter le DOM virtuel, etc. En gros, tout le reste sauf le compilateur.
UMD : La version UMD peut être utilisée directement dans le navigateur via la balise