首页 > 编程语言 >JavaScript的终端输入输出

JavaScript的终端输入输出

时间:2024-06-15 09:02:48浏览次数:16  
标签:输入输出 prompt name JavaScript answers return 终端 inquirer console

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 将显示错误消息,并要求用户重新输入,直到输入有效为止。

标签:输入输出,prompt,name,JavaScript,answers,return,终端,inquirer,console
From: https://www.cnblogs.com/full-stack-linux-new/p/18248971

相关文章

  • JavaScript打包可执行文件
    pkg[选项]选项:-h,--help输出使用信息-v,--version输出pkg版本-t,--targets逗号分隔的目标列表(参见示例)-c,--configpackage.json或任何具有顶级配置的json文件--options将v8选项拷贝到可执行文件中,以便与它们一起运行......
  • JavaScript的运算符(算术、比较、赋值、逻辑、条件)
    天行健,君子以自强不息;地势坤,君子以厚德载物。每个人都有惰性,但不断学习是好好生活的根本,共勉!文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。文章目录运算符1.算术运算符1.1示例代码1.2打印结果2.比较运算符2.1示例代码2.2打印结果3.赋值......
  • 利用某些平台(聚合API、百度AI、科大讯飞API)的API接口,利用HTTP协议向服务器发送请求,并
    要使用C语言通过HTTP协议向服务器发送请求并接收响应,你可以使用如libcurl这样的库来发送HTTP请求。libcurl是一个免费且易于使用的客户端URL传输库,支持多种协议,包括HTTP。同时,为了解析服务器响应中的JSON数据,你可以使用cJSON库,这是一个轻量级的JSON解析库。以下是一个简单的示例......
  • ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 添加自定义(GLSL)数据
    ArcGISJSAPI高级教程-ArcGISMapsSDKforJavaScript-添加自定义(GLSL)数据核心代码完整代码在线示例ArcGISMapsSDKforJavaScript从4.29开始增加RenderNode类,可以添加数据以及操作FBO(ManagedFBO);通过操作FBO,可以通过后处理实现很多效果,官方提供了几......
  • javascript - 文件上传
    最简单的文件上传接口@ControllerpublicclassExcelCtrl{@ResponseBody@RequestMapping(value="upload",method=RequestMethod.POST)publicResultimportExcel(@RequestParamMultipartFilefile,HttpServletResponseresponse)throwsIOExceptio......
  • javascript - 面向对象
    要是直接百度,如何在javascript中创建一个对象,你能找到一堆这样的文章:《js创建对象的n种方式》、《闭包的n种写法》……咱们不参加考试,不要记那么多,整那么多写法,代码还不好维护。就例举几个,在实际项目开发过程中,比较好的代码写法。兼容语法1如果想兼容旧的浏览器,可以采......
  • 需求虽小但是问题很多,浅谈JavaScript导出excel文件
    最近我在进行一些前端小开发,遇到了一个小需求:我想要将数据导出到Excel文件,并希望能够封装成一个函数来实现。这个函数需要接收一个二维数组作为参数,数组的第一行是表头。在导出的过程中,要能够确保避免出现中文乱码的情况。另外,考虑到数组中可能包含回车、逗号、换行符等......
  • JavaScript 编程语言【数据类型】映射|集合|WeakMap and WeakSet
    文章目录MapandSet(映射和集合)MapMap迭代Object.entries:从对象创建Map]Object.fromEntries:从Map创建对象SetSet迭代(iteration)总结✅任务过滤数组中的唯一元素过滤字谜(anagrams)迭代键WeakMapandWeakSet(弱映射和弱集合)WeakMap使用案例:额外的数据使用案例:缓存Weak......
  • 一起来学javascript-axios
       <!--//AJAX的封装插件——Axios。  //什么是Axios  //Axios是一个基于Promise的HTTP库,可以用于浏览器和Node.js,支持VanillaJS、Angular、React、Vue等框架。  //简单的理解就是对Ajax的封装,且具有易用、简洁、高效等特点。  ......
  • 使用 JavaScript 中的 DeviceOrientationEvent
    在前端开发中,DeviceOrientationEvent是一个非常有用的API,它允许我们访问设备的物理方向信息,如设备的倾斜和旋转。这个API可以在移动设备上获取设备的方向,可以用来创建各种有趣和交互性强的应用程序,比如游戏、增强现实体验等。本文将介绍如何使用DeviceOrientationEventAP......