Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 电子读线_Node.js_Windows_Npm_Electron - Fatal编程技术网

Node.js 电子读线

Node.js 电子读线,node.js,windows,npm,electron,Node.js,Windows,Npm,Electron,我正在尝试使用electron构建一个应用程序,它的设计目的是在以后获得GUI,但现在我只是尝试这样做: function test(){ console.log("In Test") var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', f

我正在尝试使用electron构建一个应用程序,它的设计目的是在以后获得GUI,但现在我只是尝试这样做:

function test(){

  console.log("In Test")

  var readline = require('readline');
  var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
  });

  rl.on('line', function(line){
    console.log(line);
  })

}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
app.on('ready', test);
在启动
npm start
时,我在Test中看到了“
”日志,但当我在shell中键入内容时,它不会返回给我,因为我需要Readline模块将其返回


我遗漏了什么吗?

在Electron中,控制台变成了铬控制台,这与您习惯的终端不同。据我所知,Readline不会工作。Chromium中的闪烁控制台不支持以这种方式读取输入。它的操作更像是一个debug REPL,您可以在其中键入JS代码、检查变量等。它不用于用户输入。我认为您无法从该控制台获得输入到
stdin
,readline模块正在等待查看数据


更新
我假设OP使用的是开发工具控制台,希望它能像shell一样工作。他正确地使用了它。实际问题是Windows上节点的readline模块。节点开发人员正在积极地修复它。这是一个回归错误,以前已修复过一次,但在node的最新版本中再次出现。

您的评论非常清楚,我对此一无所知!知道这件事很有用。(这解释了很多…)。我最终发现了一个小技巧:在循环中使用
readSync
。很高兴我能提供帮助:)我可以键入什么命令来查看Chromium控制台是否正在运行?我尝试了一个
console.log(“test”)
,但什么也没发生。我不太清楚你的意思。你在看什么控制台?您是否正在查看调用
window.openDevTools()时打开的控制台在你的电子应用程序中?哦,我错过了那个小道消息。Windows上的readline模块存在错误。我之所以知道这一点,是因为我试图在我的Windows框中使用
eslint--init
,但提示完全出错,不接受输入。我只是看到它实际上是一只虫子。