Vue3 源码阅读(1):首先看看 Vue3 源码的项目结构

1,Vue3 和 Vue2 项目结构的差别

Vue3 的项目结构相较于 Vue2 有了很大的进步,在 Vue2 中,所有的模块都是放在一个项目中(Vue2 的项目结构可以看我的这篇博客),在打包时,无法做到分模块打包,各个模块耦合在一起,如果只想用项目中的一部分功能,也需要导入包含全部功能的 vue.js。

Vue3 使用 Monorepo 的模式管理项目,Monorepo 的思想是指在一个项目仓库中管理多个模块,每个模块都是一个独立的项目,各个模块的耦合度非常低,每个模块都可以单独的打包发行,

2,Vue3 项目结构的具体介绍

Vue3 的项目截图如下所示:

Vue3 源码阅读(1):首先看看 Vue3 源码的项目结构_第1张图片

可以发现,Vue3 的源码都是放在 packages 目录下的,packages 目录下的每一个目录都是一个单独的项目,每一个项目都对应着 Vue3 中的一个模块,各个模块的具体功能如下所示:

compiler-core          // 与平台无关的编译器核心
compiler-dom           // 针对浏览器的编译模块
compiler-sfc           // 用于解析 xxx.vue 单文件
compiler-ssr           // 针对服务器渲染的编译模块
reactivity             // 响应式系统
runtime-core           // 与平台无关的运行时核心
runtime-dom            // 针对浏览器的运行时,例如包含了很多 DOM 操作以及属性事件操作等等
runtime-test           // 用于测试的运行时
server-renderer        // 服务器端渲染器
sfc-playground         // Vue3 单文件组件 playground
size-check             // 用来测试代码体积
template-explorer      // 用于调试编译器输出的开发工具
vue                    // 完整版本 Vue,包含运行时和编译器

你可能感兴趣的:(vue3源码阅读系列,前端,vue.js,javascript)