【问题标题】:Run JavaScript codes in Visual Studio code terminal same as what works in browser's console在 Visual Studio 代码终端中运行 JavaScript 代码,与在浏览器控制台中运行的相同
【发布时间】: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 脚本可能或任何有效的扩展?感谢您的帮助。

【问题讨论】:

    标签: javascript visual-studio visual-studio-code visual-studio-2012 visual-studio-2015


    【解决方案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

      【讨论】:

      • 我认为这很好用。除了这些,您还有其他选择吗?
      • 不,这些是我过去使用过的东西,对我有用。如果它也对你有用,请接受我的回答。
      猜你喜欢
      • 2019-08-03
      • 2021-05-26
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      相关资源
      最近更新 更多