电子Readline

我试图用电子来构build一个应用程序,它的目的是为了得到一个graphics用户界面,但现在我只是想做到这一点:

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 ,我看到“ In Test ”日志,但是当我在shell中键入内容时,它不会返回给我,因为我需要通过Readline模块。

我错过了什么吗?

在电子控制台变成了铬的控制台,它不像你习惯的终端。 就我所知,Readline不会工作。 Chromium中的闪烁控制台不支持以这种方式读取输入。 它更像一个调试REPL,你可以键入JS代码,检查变量等。这不是用户输入。 我不认为你将能够从该控制台提供输入到stdin ,这是readline模块正在等待查看数据的地方。


更新

我认为OP是使用开发工具控制台期待它像一个壳一样工作。 他正在使用它。 实际的问题是Windows上的节点readline模块的一个bug 。 节点开发人员正在积极解决这个问题。 这是一个之前修复过的回归bug,但在最近版本的节点中再次出现。