这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战
概览
最近总结vue底层的一些原理的东西。最好最直接的方式不就是去读vue的源码
。源码下载下来之后又不能干读,要是能启一个服务,打开一个html,修改源码,实时编译,还能够在源码里面打断点,就像自己是vue的开发者一样,那简直不要太好。其实这个过程的步骤也十分简单。
- 拉取代码,安装依赖
- 找到rollup配置文件
- 给rollup配置rollup-plugin-serve
环境安装
- 下载代码:官方github仓库下载,本次自己使用的版本为:
v2.6.14
- 安装依赖:
依赖安装需要一定时间,请耐心...
找到入口
要找到入口,首先要了解vue打包了文件的层级。根据平台可分为web,weex。又根据功能分为:1.运行时,2.编译,3.全部。根据打包方式又分为commonjs和esmodule。
- 根据dev脚本命令,配置文件:scripts/config.js。打包类型为:web-full-dev
- 找到web-full-dev的配置如下图,红色箭头即为入口文件
- 实际路劲为:src/platforms/web/entry-runtime-with-compiler.js
配置serve&调试代码
从上我们已经找到了dev的rollup配置,想要本地启动一个服务,只需要再这个基础上配置rollup-plugin-serve。
在scripts下创建一个html文件。引入dist/vue.js
调试代码
- 执行命令:npm run dev。浏览器会自动打开:
http://localhost:3005/scripts/index.html
接下来我们就愉快的调试代码了,下图是在源码中打了一个断点。 刷新页面,进入断点
总结
按照一样的方法,应该也会很快运行起vue3。经过这样一番不复杂的操作之后,我们看源码的时候就不会有那么漂了,更扎实!