- vue项目中执行vue-router的源码文件地址:“node_modules/vue-router/dist/vue-router.esm.js”,dist目录下还有其他压缩方式的vue-router源码文件,使用哪种压缩文件是在webpack里面配置的。
- 在源码里打断点一步一步调试,我寻找push的入口时通过搜索“pushState”,修改浏览器地址需要使用到“pushState”。
- 整理出源码执行的流程图
-
通过学习源码,学到2种函数的实现方法。
【1】,通过回调函数可以设计函数执行的顺序
function (data, fn) {
......
fn()
......
}
【2】递归函数更方便的写法
function () {
const fn = data => {
......
fn
......
}
fn(...)
}