1 Star 1 Fork 0

meetqy / test-cli

加入 Gitee
与超过 1000 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
readme.md

test-cli

脚手架学习总结

安装

npm i @test-cli/core -g

本地调试

第一步

git clone git@gitee.com:meetqy/test-cli.git
npm run setup
cd core/cli
npm link

第二步

# 指定targetPath
test-cli init [projectName] --targetPath [test-cli目录]/commands/init --debug

or

1. 在用户主目录新建 .env.test-cli 加入 CLI_TARGET_PATH=测试命令目录
2. 执行命令 test-cli init [projectName] --debug

环境变量

变量名 描述
CLI_HOME_PATH 本地.test-cli路径
CLI_TARGET_PATH 本地代码路径
CLI_REQUEST_BASE_URL 请求路径
CLI_TEMPLATE_CONFIG_PATH 模板配置文件地址
CLI_BASE_PROJECT_PATH 项目源码所在目录
CLI_LOG_LEVEL 当前log日志等级

所有环境命令都可以 .env.test-cli 配置文件中使用

配置文件 -> .env.test-cli

在用户主目录下新建 .env.test-cli 文件

模板中的变量

变量名 描述
name 名称
version 版本号
description 描述信息

目录结构

.
├── commands            // 需要动态加载的命令放在此文件夹下
│   └── init            // 命令:init [options] [projectName] 
├── core                
│   ├── cli             // 脚手架
│   └── exec            // 处理动态加载命令
├── docs                // 文档目录
│   └── image
├── models              
│   ├── command         // 命令相关的校验 实例化等
│   └── package         // package包管理、下载、安装、更新等
└── utils
    ├── format-path     // 兼容路径 window/mac
    ├── get-npm-info    // npm包的管理 检查更新、获取所有版本、版本对比等
    ├── log             // 日志
    ├── request         // 请求
    └── utils           // 其他工具栏方法

项目中的库及作用

库名 项目中的作用
child_process 动态加载命令,使用Node子进程启动
cli-spinner 脚手架中的loading/加载提示
axios 获取模板的配置文件
npmlog 日志/提示文字/调试信息
semver 对package进行版本对比
url-join 快速拼接url
fs-extra 复制文件/文件夹
npminstall 下载npm package
path-exists 判断文件是否存在
pkg-dir 查找当前目录下的package
commander 命令行库,test-cli中命令行中的操作,都基于此package
dotenv .env配置
import-local 判断是否是本地
root-check 判断是否是root用户,是:自动降权
user-home 获取当前计算机用户主目录 eg:/Users/**

流程设计

脚手架

init 命令

init [projectName] [options]

简介

脚手架学习总结 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/meetqy/test-cli.git
git@gitee.com:meetqy/test-cli.git
meetqy
test-cli
test-cli
master

搜索帮助

10d9f8b4 4838521 8bde8327 4838521