电子阅读专线
Electron Readline
我正在尝试使用 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
时,我看到“In Test
”日志,但是当我在 shell 中输入内容时,它没有返回给我,因为我需要它Readline 模块。
我是不是漏掉了什么?
在 Electron 中,控制台变成了 Chromium 控制台,这与您习惯的终端不同。据我所知,Readline 是行不通的。 Chromium 中的闪烁控制台不支持以这种方式读取输入。它的运行更像是一个调试 REPL,您可以在其中键入 JS 代码、检查变量等。它不用于用户输入。我认为您无法将控制台提供的输入输入 stdin
,这是 readline 模块等待查看数据的地方。
更新
我假设 OP 正在使用开发工具控制台,希望它像 shell 一样工作。他用得恰到好处。实际问题是 a bug 节点的 readline 模块在 Windows 上。节点开发人员正在积极努力修复它。这是一个回归错误,之前修复过一次,但在最新版本的节点中再次出现。
我正在尝试使用 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
时,我看到“In Test
”日志,但是当我在 shell 中输入内容时,它没有返回给我,因为我需要它Readline 模块。
我是不是漏掉了什么?
在 Electron 中,控制台变成了 Chromium 控制台,这与您习惯的终端不同。据我所知,Readline 是行不通的。 Chromium 中的闪烁控制台不支持以这种方式读取输入。它的运行更像是一个调试 REPL,您可以在其中键入 JS 代码、检查变量等。它不用于用户输入。我认为您无法将控制台提供的输入输入 stdin
,这是 readline 模块等待查看数据的地方。
更新
我假设 OP 正在使用开发工具控制台,希望它像 shell 一样工作。他用得恰到好处。实际问题是 a bug 节点的 readline 模块在 Windows 上。节点开发人员正在积极努力修复它。这是一个回归错误,之前修复过一次,但在最新版本的节点中再次出现。