You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code终端获取JavaScript用户输入(无需Node.js)

在VS Code终端中获取JavaScript用户输入的方案

首先明确:要在VS Code终端里运行JavaScript并处理命令行输入,必须依赖Node.js环境——浏览器之外没有原生的JavaScript运行时,Node.js是目前唯一的主流选择,它不算额外的"外部工具",是JS在终端/服务端运行的标准环境。你之前写的input()是Python专属语法,JavaScript里没有这个全局函数,所以会触发语法错误。

下面是两种可行的实现方案:

方案一:使用Node.js内置的readline模块(无需额外安装依赖)

这是官方推荐的异步方式,适合大多数场景:

  1. 创建一个JS文件(比如get-input.js),写入以下代码:
const readline = require('readline');

// 创建输入输出接口,绑定终端的标准输入输出流
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

// 发起提问并处理用户输入
rl.question('Enter your name here: ', (userName) => {
  console.log(`Hi there, ${userName}!`);
  // 必须关闭接口,否则程序会一直挂起
  rl.close();
});

// 可选:监听接口关闭事件,做收尾操作
rl.on('close', () => {
  console.log('输入流程结束');
});
  1. 在VS Code终端中,进入文件所在目录,运行命令:
node get-input.js

此时终端会显示提示文本,输入内容后回车,就能看到处理结果。

方案二:使用同步输入(适合简单场景,需安装第三方包)

如果需要同步阻塞式的输入(和Python的input()逻辑更接近),可以使用readline-sync包:

  1. 先在项目目录下安装依赖:
npm install readline-sync
  1. 编写代码:
const readlineSync = require('readline-sync');

// 同步获取输入,程序会等待用户输入完成后再继续执行
const userName = readlineSync.question('Enter your name here: ');
console.log(`Hi there, ${userName}!`);
  1. 同样用node命令运行即可。

内容的提问来源于stack exchange,提问作者Moh Umara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:42:09