VS Code中运行Node.js用户输入程序遇ENXIO错误求助
解决Node.js中
prompt-sync的ENXIO错误 问题代码
const prompt = require("prompt-sync")(); var fname = prompt("Enter your first name: "); var lname = prompt("Enter your last name: "); console.log("Your full name is", fname, lname);
报错信息
node:internal/fs/utils:350 throw err; ^ Error: ENXIO: no such device or address, open '/dev/tty'
解决方法
- 使用VS Code集成终端运行:打开终端(快捷键
Ctrl+``),进入代码所在目录,执行命令node 你的文件名.js`,即可正常输入内容。 - 配置Run Code插件:在VS Code设置中搜索
Run Code: Run In Terminal,勾选该选项,让插件在终端而非输出面板中运行代码。 - 改用内置
readline模块替代prompt-sync:使用Node.js自带的readline实现交互式输入,无需额外安装依赖,代码示例如下:
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('Enter your first name: ', (fname) => { rl.question('Enter your last name: ', (lname) => { console.log("Your full name is", fname, lname); rl.close(); }); });
内容的提问来源于stack exchange,提问作者Samrudh S
相关产品推荐
相关产品推荐

