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 @ 2024-06-15 08:19  linux星  阅读(10)  评论(0编辑  收藏  举报