Lerna源码分析

273 阅读1分钟

为什么要分析Lerna源码?

  1. 2w+ Star的明星项目
  2. Lerna是脚手架,对我们开发脚手架有借鉴价值
  3. Lerna项目中蕴含大量的最佳实践,值得深入研究和学习

学习目标

  1. Lerna源码结构和执行流程分析
  2. import-local 源码深度精读

学习收获

  1. 如何将源码分析的收获写进简历
  2. 学习明星项目的架构设计
  3. 获得脚手架执行流程的一种实现思路
  4. 脚手架调试本地源码的另外一种方法
  5. Node.js加载node_modules模块的流程
  6. 各种文件操作算法和最佳实践

准备源码

源码阅读前准备工作

  1. 下载源码
  2. 安装依赖
  3. IDE打开

源码阅读准备完成的标准

  1. 找到入口文件
  2. 能够本地调试

源码分析

image.png

本地依赖模块加载,本地调试用这个方法,但是上线发布的时候怎么解决?lerna publish里面帮忙解决了

image.png

继承Command的类必须实现的方法:

image.png

比如lerna list中就实现了这两个方法:

image.png

利用微命令方式来实现脚手架执行的过程

image.png

javascript事件循环:

image.png