Vue3 源码阅读(1)- 前置知识
文章是边看源码边写的,建议看文章的同时看源码(不然会看不懂)
知识储备
阅读后文需要以下知识储备:
ESNEXT
最新规范理解
vue2
文档中编写的响应式原理pnpm
和其workspace
的使用,了解pnpm link
指令
本人开发环境
操作系统:
Windows11 x64 专业版
IDE:
vscode 最新稳定版
调试项目
package.json
依赖版本1
2
3
4
5
6
7
8
9
10
11
12
13{
"dependencies": {
"vue": "^3.2.37"
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.3.3",
"@vitejs/plugin-vue-jsx": "^1.3.10",
"sass": "^1.53.0",
"typescript": "^4.7.4",
"vite": "^2.9.13",
"vue-tsc": "^0.38.2"
}
}
版本要求
node:
>= v16.5.0
vue 源码:
v3.2.37
包管理工具 pnpm:
>= 7.5.0
如何调试
首先把仓库克隆下来:
1
git clone git@github.com:vuejs/core.git
进入到项目目录,然后切换到我们的调试版本:
1
2
3cd core
git checkout v3.2.37安装依赖,完整的编译一次:
1
2
3pnpm i
-t 表示同时编译类型文件,-s 表示 sourceMap 文件
pnpm build -t -s将需要调试的包用开发模式跑起来:
例如我们要跑 reactivity 这个包,并且是用 vite 调试
1
2-f esm-bundler 表示开发模式打包为 esm 格式,vite 默认会用 module 来编译,所以需要为该格式
pnpm dev reactivity -f esm-bundler -s此时
packages/reactivity/src
下的文件都支持实时调试了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 乱炖锅!
评论