在NodeJs中将用户输入打印到控制台

时间:2018-09-11 02:32:03

标签: javascript node.js

请为这个代码找到一个艰难的解决方案,我被要求在这些学习站点之一的nodeJs中将用户输入打印到控制台。我是nodeJ的新手,我不知道该怎么做。任何帮助,不胜感激。这是代码行。谢谢

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});

function readLine() {
    return inputString[currentLine++];
}

function greeting(parameterVariable) {
    // This line prints 'Hello, World!' to the console:
    console.log('Hello, World!');
    console.log(inputString);
    
}

function main() {
    const parameterVariable = readLine();
    
    greeting(parameterVariable);
}

1 个答案:

答案 0 :(得分:0)

您首先需要打开标准输入流。 试试下面的代码片段:

// We start listening for input:
const stdin = process.openStdin();
let content = '';

stdin.addListener('data', d => {
  content += d.toString();
});

stdin.addListener('end', () => {
  console.info(`Input: ${content}`);
});