vue3.5.18源码:调试方式

vue3框架的使用极大提高了项目开发效率,我们不断的使用着耳熟能详的vue api去完成业务功能,却往往忽略其背后复杂而又精妙的实现原理。本文就将以debugger的方式对vue3源码进行调试,以便清晰理解vue的底层实现原理。

1、vue3源码调试方式

(1)准备工作

下载vue源码https://github.com/vuejs/core/tree/v3.5.18; 然后通过npm install的方式安装所需的依赖node_modules(如果执行过程有报错,可以借助大模型协助解决); 接着使用npm run build的方式打包生成packages/vue/dist/vue.global.js;

(2)进行调试

dist当前同级目录下使用index.html进行调试:

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <script src="./dist/vue.global.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <script>
      const App = {
        template: `<div>Hello World</div>`,
      };
      debugger;
      const app = Vue.createApp(App);
      app.mount("#app");
    </script>
  </body>
</html>

通过vscodeOpen with Live Serve的方式启动index.html文件,开始debugger断点调试。

2、脚手架

通过vue create app的方式创建一个空白项目:

(1)准备工作

通过vue create app创建的项目,只需要在vue.config.js修改vue的指向vue/dist/vue.esm-bundler.js:

js 复制代码
const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    resolve: {
      alias: {
        // 修改vue的源码指向
        vue$: "vue/dist/vue.esm-bundler.js",
      },
    },
  },
});

(2)进行调试

main.js文件中修改为:

js 复制代码
import { createApp } from "vue";
const App = {
  template: `<div>Hello World</div>`,
};
debugger;
let vm = createApp(App).mount("#app");

通过npm run serve的方式启动vue脚手架,开始debugger断点调试。

现在可以愉快的进行底层原理探索了。

相关推荐
猪八戒1.03 分钟前
onenet接口
开发语言·前端·javascript·嵌入式硬件
程序猿小蒜5 分钟前
基于Spring Boot的宠物领养系统的设计与实现
java·前端·spring boot·后端·spring·宠物
合作小小程序员小小店6 分钟前
web网页开发,在线%食堂管理%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·mysql·html·intellij-idea·jquery
人工智能训练18 分钟前
Windows中如何将Docker安装在E盘并将Docker的镜像和容器存储在E盘的安装目录下
linux·运维·前端·人工智能·windows·docker·容器
90后小陈老师29 分钟前
用户管理系统 07 项目前端初始化 | 新手实战 | 期末实训 | Java+SpringBoot+Vue
java·前端·spring boot
小溪彼岸34 分钟前
一键切换Cluade、Codex供应商配置,CC Switch你值得一试
前端
2501_9160088939 分钟前
API接口调试全攻略 Fiddler抓包工具、HTTPS配置与代理设置实战指南
前端·ios·小程序·https·fiddler·uni-app·webview
Coder-coco41 分钟前
点餐|智能点餐系统|基于java+ Springboot的动端的点餐系统小程序(源码+数据库+文档)
java·vue.js·spring boot·小程序·论文·毕设·电子点餐系统
Halo_tjn43 分钟前
Set集合专项实验
java·开发语言·前端·python
m0_564914921 小时前
EDGE浏览器如何在新标签页打开收藏?EDGE浏览器如何打开书签不覆盖原网页?如何默认在新建标签页打开收藏夹书签?
前端·edge