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

时间:2018-10-20 05:18:10

标签: javascript node.js readline read-eval-print-loop

如何在node 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

1 个答案:

答案 0 :(得分:0)

关闭代表:

replServer.close()

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

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

replServer.on('exit', () => {
  anotherModule()
}