前言
在前端开发工作中,经常需要与用户进行交互,例如输入用户名、密码等,而JavaScript语言并不提供标准的控制台输入方法,这时就需要借助一些工具来解决这个问题。 npm包prompt-sync
就是一个非常好用的工具,它能够在Node.js控制台中实现同步输入,并将用户输入的结果返回给代码。
安装和引入
使用npm安装prompt-sync
,打开终端,输入以下命令:
npm install prompt-sync
安装完成后,在JS文件中引入prompt-sync
模块:
const prompt = require('prompt-sync')();
同步输入
使用prompt-sync
非常简单,只需要调用它的()
方法即可获得用户输入。例如,下面的代码会提示用户输入一个姓名,然后将这个姓名记录到变量name
中:
const prompt = require('prompt-sync')(); const name = prompt('请输入您的姓名:'); console.log(`欢迎您,${name}`);
这段代码的运行结果是:
请输入您的姓名:张三 欢迎您,张三
值得注意的是,prompt()
方法在等待用户输入的时候会阻塞代码的运行,直到用户输入完成并按下回车键,才会返回用户的输入。这意味着,在调用prompt()
方法后,代码会停在这里等待用户输入,因此如果你需要进行其他任务,需要在完成当前任务之后再调用prompt()
方法。
带有提示文字的同步输入
prompt-sync
还可以在()
方法中添加提示文字,这样用户会更清楚自己需要输入什么内容。例如,下面的代码会提示用户输入一个年龄,然后将这个年龄记录到变量age
中:
const prompt = require('prompt-sync')(); const age = prompt('请输入您的年龄(1-100):'); console.log(`您的年龄是:${age}`);
这段代码的运行结果是:
请输入您的年龄(1-100):25 您的年龄是:25
格式化同步输入结果
prompt-sync
返回的结果是一个字符串,如果需要将其转换为其他类型的值,可以使用一些JS内置函数进行格式化。例如,下面的代码会提示用户输入一个数字,如果用户输入的是合法的数字,则将其转换为数字类型并输出,否则提示用户重新输入:
-- -------------------- ---- ------- ----- ------ - ------------------------- --- ---- ----- ------ - ----- ----- - ------------------- -- -------------- - -- ------- -------------------------- --------- - --- - -------------- ------ - ------------------------------
这段代码的运行结果是:
请输入一个数字:abc 输入有误,请重新输入 请输入一个数字:123 你输入的数字是:123
使用Number()
函数可以将字符串转换为数字类型。
总结
本文介绍了npm包prompt-sync
的使用教程,它是一款非常实用的工具,可以帮助我们在Node.js控制台中实现同步输入。当我们需要与用户进行交互,并获取用户输入的时候,prompt-sync
可以为我们提供很大的便利。希望大家能够掌握和运用这个工具,在工作和学习中更加便捷。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/63657