如何关闭节点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
要关闭repl:
replServer.close()
我遇到的问题是它关闭了节点应用程序,即使我调用了一个包含readline.prompt()的模块。
通过'退出'而不是直接调用下一个模块来设法使其工作。
replServer.on('exit', () => {
anotherModule()
}