概述
为了探究vue的本质,所以想debug一下源码,但是怎么开始是个问题,于是有了这样一篇记录。
目标是为了可以调试es6版本的,也就是src下的源码,所以主要是sourceMap的开启。
原文来自:https://blog.csdn.net/ReusLi/…。因为不喜欢其排版,所以简单整理一下。
流程
1.clone vue项目本身
这里是vue项目的克隆地址https://github.com/vuejs/vue.git,执行常规的git clone命令就好。
git clone https://github.com/vuejs/vue.git
2.npm install
3.npm run setup
4.npm install rollup-plugin-alias@^1.4.0 -D
(非win10用户可跳过该步)
5.修改克隆下来的项目中的\build\config.js
文件中的function genConfig (name) {}
内部的配置对象const config = {xxx}
,在其中加入sourceMap: true
字段。
6.npm run dev
启动调试环境
7.打开/exapmle/commits/index.html
文件,修改其中script[src]
对vue的引用,修改其文件名为:vue.min.js->vue.js
,然后在浏览器中直接打开该html即可。
8.开发者工具中调试跟进,探寻原理。
备注
第6步起来后,会在/dist
目录下生成一个vue.js
的文件,只要引入该文件即可调试。第7步中的examples文件夹中的文件作为示例使用。
补充:
2019-2-3:
再次在浏览器中打开html文件,其中的js没有关联到对应的sourceMap。后来尝试了下,使用了个简单的http-server的包,在vue的项目根目录,开启了一个简单的本地web的服务。然后通过该服务访问/example/commits/index.html时,成功的关联到了对应的sourceMap。
结语
至此就可以开心的研究vue源码啦。