为什么要分析Lerna源码?
- 2w+ Star的明星项目
- Lerna是脚手架,对我们开发脚手架有借鉴价值
- Lerna项目中蕴含大量的最佳实践,值得深入研究和学习
学习目标
- Lerna源码结构和执行流程分析
- import-local 源码深度精读
学习收获
- 如何将源码分析的收获写进简历
- 学习明星项目的架构设计
- 获得脚手架执行流程的一种实现思路
- 脚手架调试本地源码的另外一种方法
- Node.js加载node_modules模块的流程
- 各种文件操作算法和最佳实践
准备源码
源码阅读前准备工作
- 下载源码
- 安装依赖
- IDE打开
源码阅读准备完成的标准
- 找到入口文件
- 能够本地调试
源码分析
本地依赖模块加载,本地调试用这个方法,但是上线发布的时候怎么解决?lerna publish里面帮忙解决了
继承Command的类必须实现的方法:
比如lerna list中就实现了这两个方法:
利用微命令方式来实现脚手架执行的过程
javascript事件循环: