在 Visual Studio 代码终端中运行 JavaScript 代码,与在浏览器控制台中运行的相同
Posted
技术标签:
【中文标题】在 Visual Studio 代码终端中运行 JavaScript 代码,与在浏览器控制台中运行的相同【英文标题】:Run JavaScript codes in Visual Studio code terminal same as what works in browser's console 【发布时间】:2020-12-26 15:23:58 【问题描述】:这是一个基本的 vs 代码问题,但我对这个代码编辑器有点陌生。我需要在 vs 代码平台中运行/console.log()
一个简单的 js 脚本,这与在浏览器控制台或此“代码 sn-p”中的工作相同。仅以我的简单 js 脚本为例:
const data = parseInt(prompt("5 x 5?"));
const testResult = (answer) => data === answer ? console.log(`Correct. Your answer was: $data`) : console.log(`Incorrect. Your answer was: $data. Pls try again`)
testResult(25);
如果我在浏览器中console.log()
这个,它看起来像这样。弹出一个提示,您可以输入该值并在日志中查看结果。
如何在 Vs 代码终端中执行此操作,而不是转到浏览器的控制台,运行并查看结果?我尝试在 vs 代码终端中运行它,例如 node test.js
。当然,它会出错,因为 prompt
没有定义。我已经看过并尝试过浏览器预览扩展,但不适用于这样的简单代码。用于设置的 json 脚本可能或任何有效的扩展?感谢您的帮助。
【问题讨论】:
【参考方案1】:我们知道 node.js 代码在浏览器之外运行,所以您会看到原生 javascript 和 nodeJs 之间的细微差别。
在 nodeJS 中为了从用户那里获取输入,你需要像我们在 C++ 或 JAVA 代码中那样从终端读取行
示例
const readline = require("readline");
const rl = readline.createInterface(
input: process.stdin,
output: process.stdout
);
rl.question("What is your name ? ", function(name)
rl.question("Where do you live ? ", function(country)
console.log(`$name, is a citizen of $country`);
rl.close();
);
);
rl.on("close", function()
console.log("\nBYE BYE !!!");
process.exit(0);
);
使用节点命令运行以上代码
【讨论】:
【参考方案2】:Vanilla JavaScript 和 Node.js 有一些区别,这就是其中之一。你有一些选择:
可以使用内置的readline
模块
const readline = require("readline");
const rl = readline.createInterface(
input: process.stdin,
output: process.stdout
);
rl.question("How old are you ? ", function(age)
console.log(`You are $age years old`);
rl.close();
);
);
rl.on("close", function()
process.exit(0);
);
参考:https://nodejs.org/en/knowledge/command-line/how-to-prompt-for-command-line-input/
您可以使用包管理器进行安装,然后使用第三方库。这种库的一个例子是prompt
。有些人使用这些第三方库是因为它们有助于验证用户输入。
var prompt = require('prompt');
//
// Start the prompt
//
prompt.start();
//
// Get two properties from the user: username and email
//
prompt.get(['username', 'email'], function (err, result)
//
// Log the results.
//
console.log('Command-line input received:');
console.log(' username: ' + result.username);
console.log(' email: ' + result.email);
);
参考:https://github.com/flatiron/prompt
【讨论】:
我认为这很好用。除了这些,您还有其他选择吗? 不,这些是我过去使用过的东西,对我有用。如果它也对你有用,请接受我的回答。以上是关于在 Visual Studio 代码终端中运行 JavaScript 代码,与在浏览器控制台中运行的相同的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio代码终端,如何以管理员权限运行命令?
Visual Studio Code 在终端中运行程序以进行输入
如何将终端更改为 Visual Studio 代码中的当前目录? (热键)[重复]
在新窗口终端中使用 Visual Studio Code 中的终端运行