vue-router的版本是3.0.7,git clone后,我删掉了chromedriver包再npm install。因为这个包是chrome的驱动,非常庞大,是e2e测试的时候用的,基本用不着,建议删掉。
vue-router采用roll-up打包,引入了Typescript。源代码放在src文件下。src的文件目录为:
— components 里面包含了link和view两个路由组件 — history 定义了History基类和AbstractHistory, HTML5History, HashHistory几个衍生类。是vue-router的功能实现的主体。 — util 定义了异步、dom处理、滚动处理等工具函数 — create-matcher.js 导出了createMatcher函数,该函数接收routes,router两个参数,返回具有match方法和addRoutes方法的Matcher对象。 — create-route-map.js 导出了createRouteMap函数。该函数根据routes和旧的pathMap等,生成新的pathList, pathMap, nameMap,并确保通配路由*永远在最后。 — index.js 打包入口文件,导出VueRouter类。 — install.js 将vue-router作为Mixin注入,注册RouterView,RouterLink组件,同时导出Vue供其他模块使用。
