如何关闭节点cli中的repl.start()实例

问题描述 投票:0回答:1

如何关闭节点cli模块中的repl实例,以便它可以运行两次而无需重复用户输入?

// Start repl instance and prompt user
var repl = require("repl");
let replServer = repl.start();

如果我在用户输入'a'时运行此模块两次,则cli显示'aa'

使用readline我使用rl.close()来防止重复输入:

// Start readline instance
var rl= readline.createInterface({
   input: process.stdin,
   output: process.stdout
});

// Prompt user for input
rl.prompt();

// Close readline
rl.close()  // this prevents input being duplicated if I run module twice
javascript node.js readline read-eval-print-loop
1个回答
0
投票

要关闭repl:

replServer.close()

我遇到的问题是它关闭了节点应用程序,即使我调用了一个包含readline.prompt()的模块。

通过'退出'而不是直接调用下一个模块来设法使其工作。

replServer.on('exit', () => {
  anotherModule()
}
© www.soinside.com 2019 - 2024. All rights reserved.