【问题标题】:How to close and instance of repl.start() in node cli如何在节点 cli 中关闭 repl.start() 实例
【发布时间】:2018-10-20 05:18:09
【问题描述】:

如何关闭节点 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】:

    关闭repl:

    replServer.close()
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 2015-09-04
      • 2015-08-02
      • 1970-01-01
      • 2022-06-12
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      相关资源
      最近更新 更多