1 Star 1 Fork 0

meetqy / test-cli

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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]

Repository Comments ( 0 )

Sign in to post a comment

About

脚手架学习总结 expand collapse
JavaScript
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
1
https://gitee.com/meetqy/test-cli.git
git@gitee.com:meetqy/test-cli.git
meetqy
test-cli
test-cli
master

Search