脚手架核心流程开发
脚手架架构图
流程简介
- 使用
import-local
优先运行本地脚手架 - 对比本地
node
版本号- 使用
process.version
读取本地node版本
- 使用
- 检查是否为
root
账号,如果是则需要对齐进行权限降级- 直接用
root-check
这个包就行了
- 直接用
- 检查用户主目录是否存在
- 获取用户主目录使用
user-home
- 使用
pathExists
判断目录是否存在
- 获取用户主目录使用
- 检查 input 参数(这里在后面会被替代)
- 可以通过
minimist
检查参数、这里检查了 debug 模式是否为 true - 如果为 debug 模式,将 log 的模式设置为
verbose
- 可以通过
- 检查环境变量
- 读取本地
path.resolve(userHome, 'env')
下时候存在环境变量文件 - 使用
dotenv
设置环境变量 - 如果环境变量不存在 则创建一个默认的环境变量
- 读取本地
- 检查版本号是否为最新
- 通过
urlJoin(registryUrl, npmName)
可以找到 npm 最新的包信息。url-join
是一个 npm 包 - 通过
axios
获取最新包信息 - 通过
semver
这个包来对比版本
- 通过
- 其他
- 通过
colors
可以输出不同颜色的log
- 通过
Commander包的应用
由于后面课程还会提到,暂时可以直接参阅中文文档: