Cli开发实战:inquirer 命令行交互库的应用

2 阅读1分钟

inquirer 是一个 Node.js 命令行交互库,用于创建交互式命令行界面(CLI) ,让用户通过问答形式输入信息。

核心功能

它提供多种交互方式,比如:

  • 输入框(input/password):输入文本或密码
  • 选择列表(list/rawlist):从选项中单选
  • 复选框(checkbox):从选项中多选
  • 确认框(confirm):是/否确认
  • 编辑器(editor):打开编辑器输入多行文本

1. 配置向导(wizard.ts

  • 询问是否使用已保存的 API Key
  • 选择 npm 镜像源(公司内部/淘宝/官方)
  • 多选要管理的编码工具
  • 确认是否安装未安装的工具
  • 是否进入插件市场

2. 认证管理(auth.ts

  • 选择编码套餐类型
  • 输入 API Key(密码隐藏)
  • 选择要重新加载配置的工具

3. 卸载命令(index.ts

  • 多选要卸载的已安装工具

使用示例

import inquirer from "inquirer";

const { apiKey } = await inquirer.prompt([
  {
    type: "password",      // 密码类型,输入会被隐藏
    name: "apiKey",        // 返回值的键名
    message: "请输入 API Key:",
    mask: "*",             // 显示为星号
    validate: (input) => input.trim() ? true : "API Key 不能为空",
  },
]);

为什么用它

相比手动解析命令行参数,inquirer 提供了更友好的引导式交互体验,特别适合需要用户逐步配置的场景,让 CLI 工具更易用。