Vue3如何调试源码

284 阅读1分钟

注意:当前Vue源码main分支版本为3.3.0-beta.1

第一步,拉取代码:

Vue3的仓库名是core,通过https://github.com/vuejs/core.git拉取代码

pnpm i安装依赖,注意必须是pnpm,npm会报错

第二步,编写一个用于调试的测试文件:

找到项目根目录,进入packages > vue > examples

在里面新建一个test文件夹,在test文件夹中新建debugVue.html

内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">count: {{count}}</div>
    <script src="../../dist/vue.global.js"></script>
    <script>
        const app = {
            data() {
                return {
                    count: 0
                }
            }
        }
        Vue.createApp(app).mount("#app")
    </script>
</body>
</html>

第三步,启动服务,开始调试

在项目根路径下,运行pnpm run serve会启动一个本地服务,在浏览器中访问http://localhost:5000,找到debugVue.html打开控制台,即可进行源码调试。

这种方式下能够看到从createApp运行开始所发生的任何操作,不过这种情况下vue解析的是html而不是template, 如果要看template下是如何运行的可跳过第二步,直接运行pnpm run dev-sfc,然后访问http://localhost:5173/,打开控制台即可调试,但这种方式看不到createApp的调用时机,可打开源码文件在createApp方法中打个断点,也可以查看其运行方式。