# CLI
写一个CLI(Command Line Interface),你需要具备以下基础知识:
- inquirer.js (opens new window) ——用户与命令行交互的工具,它可以简化以下流程:
- 提供错误反馈
- 询问问题
- 解析输入
- 验证结果
- commander —— 完整的 node.js 命令行解决方案
- download-git-repo:用来将相应的git库下载到指定的本地文件夹。
- ora:让我们在终端展示加载效果。
- chalk: 让我们的输出变得有色彩;
- clear: 清空终端屏幕;
- clui: 绘制命令行中的表格、仪表盘、加载指示器等;
- figlet: 生成基于ASCII的艺术字;
- minimist: 解析命令行参数;
- configstore: 轻松的加载和保存配置信息;
# 流程
创建一个项目,并初始化
package.json
npm init -y
新建
bin
文件夹,并在package.json
中提供一个bin
字段并指向该文件夹+ "bin": { + "my-cli": "bin/my-cli" + }
在
my-cli
中,我们要在头部增加一句注释,用来指定由哪个解释器来执行脚本#!/usr/bin/env node console.log("hello my cli")
通过
npm link
实现指令的软链npm link # 现在可以运行命令啦 my-cli
开发cli
发布
# 参考
vue-cli、create-react-app
vuejs-templates webpack (opens new window)
vue-cli-analysis (opens new window)
vue-cli 3.0源码 (opens new window)
vue-cli源码流程图 (opens new window)
@Vue/Cli 3.0.0 图形化项目管理 (opens new window)
项目管理 →