Node.js 入门教程 13 在 Node.js 中从命令行接收输入
创始人
2024-02-21 13:50:49
0

Node.js 入门教程

Node.js官方入门教程

Node.js中文网

本文仅用于学习记录,不存在任何商业用途,如侵删

文章目录

      • Node.js 入门教程
      • 13 在 Node.js 中从命令行接收输入

13 在 Node.js 中从命令行接收输入

如何使 Node.js CLI 程序具有交互性?

从版本 7 开始,Node.js 提供了 readline 模块来执行以下操作:

在这里插入图片描述

每次一行地从可读流(例如 process.stdin 流,在 Node.js 程序执行期间该流就是终端输入)获取输入。

const readline = require('readline').createInterface({input: process.stdin,output: process.stdout
})readline.question(`你叫什么名字?`, name => {console.log(`你好 ${name}!`)readline.close()
})

在这里插入图片描述

这段代码会询问用户名,当输入了文本并且用户按下回车键时,则会发送问候语。

question() 方法会显示第一个参数(即问题),并等待用户的输入。 当按下回车键时,则它会调用回调函数。

在此回调函数中,关闭了 readline 接口。

readline 还提供了其他几个方法,详见上面的文档链接。

如果需要密码,则最好不要回显密码,而是显示 * 符号。

最简单的方式是使用 readline-sync 软件包,其在 API 方面非常相似。

在这里插入图片描述

先安装

在这里插入图片描述

嗯,白安了

Inquirer.js 软件包则提供了更完整、更抽象的解决方案。

在这里插入图片描述

可以使用 npm install inquirer 进行安装,然后复用上面的代码如下:

在这里插入图片描述

const inquirer = require('inquirer')var questions = [{type: 'input',name: 'name',message: "你叫什么名字?"}
]inquirer.prompt(questions).then(answers => {console.log(`你好 ${answers['name']}!`)
})

在这里插入图片描述

感觉还是版本高了的原因

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

OK。

其实也可以在项目的package.json文件中,指定type字段为module

在这里插入图片描述

这样就可以用import了

在这里插入图片描述

Inquirer.js 可以执行许多操作,例如询问多项选择、展示单选按钮、确认等。

所有的可选方案都值得了解,尤其是 Node.js 提供的内置方案,但是如果打算将 CLI 输入提升到更高的水平,则 Inquirer.js 是更优的选择。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...