JavaScript的终端输入输出

Inquirer.js 是一个基于 Node.js 的命令行用户界面交互库,它允许你快速构建交互式的命令行应用程序。以下是一些 Inquirer 的常用方法和使用案例:

  1. 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);
});
  1. list() - 用于创建一个列表选择提示。
inquirer.prompt([
{
type: 'list',
name: 'color',
message: '选择一种颜色',
choices: ['红的', '绿的', '蓝的']
}
]).then(answers => {
console.log('选择的颜色:', answers.color);
});
  1. rawlist() - 类似于 list,但用户可以自由输入选择。
inquirer.prompt([
{
type: 'rawlist',
name: 'fruit',
message: '选择一种水果',
choices: ['苹果', '香蕉', '樱桃']
}
]).then(answers => {
console.log('选择的水果:', answers.fruit);
});
  1. expand() - 提供一个下拉列表,用户可以从中选择或输入自己的值。
inquirer.prompt([
{
type: 'expand',
name: 'shrimp',
message: '选择一道菜',
choices: [
{
key: 's',
value: '虾球',
name: '虾沙拉-一种清淡清爽的虾沙拉'
},
{
key: 't',
value: '玉米饼',
name: '玉米饼-经典,当你需要零食或全餐时可以去'
}
]
}
]).then(answers => {
console.log('选择的菜是:', answers.shrimp);
});
  1. 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);
});
  1. 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 将显示错误消息,并要求用户重新输入,直到输入有效为止。

posted @   code星  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示