【问题标题】:Node.js - Serverside Command Promp Commands input?Node.js - 服务器端命令提示符命令输入?
【发布时间】:2021-06-08 05:21:35
【问题描述】:

我正在用 Node.js 编写一个 Web MMO,出于调试和维护的原因,我希望能够打开我的 SSH 连接,在那里我还启动了我的服务器,并编写了一个类似“logout all”的命令。 那么在我的服务器运行时获取命令提示符输入并使用它的选项有哪些?

示例: 我用“node app.js”启动我的服务器——服务器启动。 现在我想在命令提示符中写一些东西 - 我如何获得所说的输入,以便我可以在我的代码中使用它?

我试图读入 node.js-readline,但我似乎找不到太多关于它的信息,而且我发现的关于它的所有内容都需要询问一个“问题”,以便它可以获取输入。

我很想拥有这样的东西: var command = getCommandlineInput(); //command = "全部注销" 它需要随时获得任何输入。回调函数也很好,所以我可以直接通过 checkCommand() 函数运行它。

【问题讨论】:

    标签: javascript node.js webdev.webserver


    【解决方案1】:

    所以我只是想出了如何做到这一点:

    const readline = require('readline').createInterface({
        input: process.stdin,
        output: process.stdout
    });
    
    readline.on('line', (input) => {
        useCommand(input);
    });
    
    function useCommand (input)
    {
        switch (input) {
            case "show userlist":
                    CMD_showUserlist();
                break;
        }
    }
    

    首先我们启动 readline。 使用 readline.on,我们会侦听您在命令提示符中键入的任何输入。 useCommand() 接受此输入并选择要运行的函数。 如何使用给定的输入字符串取决于您,在我的示例中,我只是创建了一个硬编码命令“show userlist”。

    【讨论】: