在前端开发中,控制台输入与输出对于调试和交互式应用非常重要。Node.js 提供了 readline 模块来实现对控制台的访问,但是它需要编写异步回调函数来处理用户输入,这对于初学者来说可能有些困难。而 readline-sync 是一个简单易用的同步 I/O 库,可以用来方便地从控制台读取用户输入,以及向控制台输出信息。
安装
npm 包管理器提供了 readline-sync 包,可以通过以下命令安装:
npm install readline-sync
用法
使用 readline-sync 需要引入该模块,并调用其相关的函数。
读取用户输入
readline-sync 的 question()
函数用于从控制台读取用户输入。例如,下面的代码将提示用户输入一个字符串,并将其存储到变量 name
中:
const readlineSync = require('readline-sync'); const name = readlineSync.question('What is your name? '); console.log(`Hello, ${name}!`);
如果需要读取数字,则需要使用 questionInt()
或 questionFloat()
函数。例如,下面的代码将提示用户输入一个整数,并将其存储到变量 age
中:
const readlineSync = require('readline-sync'); const age = readlineSync.questionInt('How old are you? '); console.log(`You are ${age} years old.`);
输出信息
readline-sync 的 console.log()
函数用于向控制台输出信息。例如,下面的代码将输出一个问候语:
const readlineSync = require('readline-sync'); console.log('Hello, world!');
其他函数
除了上述常用函数外,readline-sync 还提供了其他一些有用的函数:
setPrompt(prompt)
: 设置提示符。promptLoop(callback)
: 重复调用question()
直到回调函数返回 false。
示例
下面是一个简单的示例程序,它使用 readline-sync 从控制台读取用户输入,并根据输入进行不同的操作:
-- -------------------- ---- ------- ----- ------------ - ------------------------- -------- ------ - ----- ---- - --------------------------- -- ---- ----- --- ------------------- ----------- ----- --- - ----------------------------- --- --- ---- --- -- ---- - --- - ---------------- --- --- --- ------ -- -------- - ---- - ---------------- --- --- ------ -- -------- - ----- ------ - ------- -------- -------- ----- ----- - -------------------------------- ------ ----- -- --- -------- ---------------- -------- -------------------- - -------
这个程序会先询问用户姓名,然后问年龄并判断是否能够投票,最后让用户选择一个颜色。运行该程序后,效果如下:
-- -------------------- ---- ------- ---- -- ---- ----- ---- ------ ----- --- --- --- ---- -- --- --- --- ------ -- ----- ----- ----- -- --- ----- --- ----- ---- - ----- --- -------- ------
总结
readline-sync 是一个非常方便的 npm 包,可以帮助我们更简单地实现控制台输入和输出。通过该包,我们可以避免编写异步回调函数的麻烦,并且能够快速地实现用户交互功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/49622