Vue3源码解析之 源码调试

本文为原创文章,未获授权禁止转载,侵权必究!

本篇是 Vue3 源码解析系列第 1 篇,关注专栏

前言

本系列基于 Vue 3.2.37 版本分析,可直接前往下载。

使用步骤

shell 复制代码
// 1、安装 pnpm
npm i -g pnpm

// 2、安装依赖
pnpm i

// 3、package.json 修改配置 末尾添加 -s 开启sourcemap
"build": "node scripts/build.js -s"

// 添加 `-s` 原理是在 `scripts/build.js` 文件下 设置 `sourceMap`,
// 通过 `const args = require('minimist')(process.argv.slice(2))` 获取到配置数据
// 这里使用了 `minimist` 包,将 node 命令解析成 对象数据

// 4、打包生成 vue 文件
npm run build

// 5、packages/vue/examples 文件下创建 learning 文件夹
mkdir learning

// 6、learning 文件夹下创建 html 文件
mkdir index.html

// 7、引入 vue 文件, global 文件为浏览器引入格式
<script src="../../dist/vue.global.js"></script>

// 8、案例
<body>
    <div id="app"></div>
    <script>
      const { reactive, effect } = Vue
      
      const obj = reactive({
        name: 'jc'
      })
      
      effect(() => {
        document.querySelector('#app').innerHTML = obj.name
      })

      setTimeout(() => {
        obj.name = 'cc'
      }, 2000)
    </script>
</body>

// 9、F12 打开浏览器进行 debugger 调试

调试

目录

核心文件均在 packages 目录下

md 复制代码
## compiler 编译时
- compiler-core 核心
- compiler-dom 浏览器编译时
- compiler-sfc vue文件
- compiler-ssr 服务端

## reactivity 响应式
- reactivity
    - ref
    - reactive

## runtimer 运行时
- runtime-core 核心
- runtime-dom 浏览器运行时

## shared 共享工具

## vue
src/index.ts 入口

Vue3 源码解析系列

  1. Vue3源码解析之 源码调试
相关推荐
Setsuna_F_Seiei6 分钟前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑29 分钟前
追踪来自Agent的Web 流量
前端
wefly20171 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年1 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
英俊潇洒美少年2 小时前
ref 底层到底是怎么变成响应式的?
vue.js
kyriewen112 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
英俊潇洒美少年2 小时前
react19和vue3的优缺点 对比
前端·javascript·vue.js·react.js
多看书少吃饭4 小时前
Vue + Java + Python 打造企业级 AI 知识库与任务分发系统(RAG架构全解析)
java·vue.js·笔记
~无忧花开~4 小时前
React生命周期全解析
开发语言·前端·javascript·react.js·前端框架·react