0. 怎么把vue源码跑起来,还能对其debugger[vue2原理总结]

504 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

概览

最近总结vue底层的一些原理的东西。最好最直接的方式不就是去读vue的源码。源码下载下来之后又不能干读,要是能启一个服务,打开一个html,修改源码,实时编译,还能够在源码里面打断点,就像自己是vue的开发者一样,那简直不要太好。其实这个过程的步骤也十分简单。

  1. 拉取代码,安装依赖
  2. 找到rollup配置文件
  3. 给rollup配置rollup-plugin-serve

环境安装

  1. 下载代码:官方github仓库下载,本次自己使用的版本为:v2.6.14
  2. 安装依赖:依赖安装需要一定时间,请耐心...

找到入口

要找到入口,首先要了解vue打包了文件的层级。根据平台可分为web,weex。又根据功能分为:1.运行时,2.编译,3.全部。根据打包方式又分为commonjs和esmodule。

image.png

  1. 根据dev脚本命令,配置文件:scripts/config.js。打包类型为:web-full-dev image.png
  2. 找到web-full-dev的配置如下图,红色箭头即为入口文件 image.png
  3. 实际路劲为:src/platforms/web/entry-runtime-with-compiler.js

image.png

配置serve&调试代码

从上我们已经找到了dev的rollup配置,想要本地启动一个服务,只需要再这个基础上配置rollup-plugin-serve。 image.png 在scripts下创建一个html文件。引入dist/vue.js

image.png

调试代码

  1. 执行命令:npm run dev。浏览器会自动打开:http://localhost:3005/scripts/index.html 接下来我们就愉快的调试代码了,下图是在源码中打了一个断点。 image.png 刷新页面,进入断点

image.png

总结

按照一样的方法,应该也会很快运行起vue3。经过这样一番不复杂的操作之后,我们看源码的时候就不会有那么漂了,更扎实!