Inquirer.js 是一个基于 Node.js 的命令行用户界面交互库,它允许你快速构建交互式的命令行应用程序。以下是一些 Inquirer 的常用方法和使用案例:
- prompt() - 这是 Inquirer 的核心方法,用于创建一个或多个提示。
| const inquirer = require('inquirer'); |
| |
| inquirer.prompt([ |
| { |
| type: 'input', |
| name: 'username', |
| message: '你的用户名是什么?', |
| validate: function(value) { |
| if (value.length < 1) { |
| return '请输入用户名'; |
| } |
| return true; |
| } |
| } |
| ]).then(answers => { |
| console.log('用户名:', answers.username); |
| }); |
- list() - 用于创建一个列表选择提示。
| inquirer.prompt([ |
| { |
| type: 'list', |
| name: 'color', |
| message: '选择一种颜色', |
| choices: ['红的', '绿的', '蓝的'] |
| } |
| ]).then(answers => { |
| console.log('选择的颜色:', answers.color); |
| }); |
- rawlist() - 类似于 list,但用户可以自由输入选择。
| inquirer.prompt([ |
| { |
| type: 'rawlist', |
| name: 'fruit', |
| message: '选择一种水果', |
| choices: ['苹果', '香蕉', '樱桃'] |
| } |
| ]).then(answers => { |
| console.log('选择的水果:', answers.fruit); |
| }); |
- expand() - 提供一个下拉列表,用户可以从中选择或输入自己的值。
| inquirer.prompt([ |
| { |
| type: 'expand', |
| name: 'shrimp', |
| message: '选择一道菜', |
| choices: [ |
| { |
| key: 's', |
| value: '虾球', |
| name: '虾沙拉-一种清淡清爽的虾沙拉' |
| }, |
| { |
| key: 't', |
| value: '玉米饼', |
| name: '玉米饼-经典,当你需要零食或全餐时可以去' |
| } |
| ] |
| } |
| ]).then(answers => { |
| console.log('选择的菜是:', answers.shrimp); |
| }); |
- checkbox() - 允许用户从一组选项中选择多个选项。
| inquirer.prompt([ |
| { |
| type: 'checkbox', |
| name: 'fruits', |
| message: '选择你最喜欢的水果', |
| choices: ['苹果', '香蕉', '樱桃'], |
| validate: function(answer) { |
| if (answer.length < 1) { |
| return '你必须至少选择一种水果。'; |
| } |
| return true; |
| } |
| } |
| ]).then(answers => { |
| console.log('选择的水果是:', answers.fruits); |
| }); |
- password() - 创建一个密码输入提示,输入内容不会显示。
| inquirer.prompt([ |
| { |
| type: 'password', |
| name: 'password', |
| message: '请输入您的密码:', |
| mask: '*', |
| validate: function(value) { |
| if (value.length < 8) { |
| return '密码必须至少为8个字符'; |
| } |
| return true; |
| } |
| } |
| ]).then(answers => { |
| console.log('输入的密码:', answers.password); |
| }); |
在上述示例中,validate
函数用于提供输入验证和错误提示。如果用户输入无效,Inquirer 将显示错误消息,并要求用户重新输入,直到输入有效为止。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现