脚手架核心流程开发

脚手架架构图

流程简介

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

Commander包的应用

由于后面课程还会提到,暂时可以直接参阅中文文档:

7.x.x 版本 6.x.x 版本

Copyright © imooc-lego (2020 - present) all right reserved,powered by GitbookFile Modify: 2021-06-27 08:04:56

results matching ""

    No results matching ""