【问题标题】:Node.js Application with multiple endpoints具有多个端点的 Node.js 应用程序
【发布时间】:2013-08-07 08:23:17
【问题描述】:

我有一个 node.js 应用程序,它只是一个库。不,我想为该应用程序提供不同的端点。

我想通过 express 获得一个网页 我想要一个管理命令行 (未来可能是一个 Rest Api。)

那么如何构建 node.js 应用程序以公开网站和管理命令行界面。这样管理员也可以同时通过命令行与该应用程序交互。重点是连接到正在运行的进程并与之交互(生产保存)。

【问题讨论】:

    标签: javascript node.js web-applications express


    【解决方案1】:

    由于节点是异步的,因此同时监听多个端点没有问题。该程序的结构基本上只是创建两个服务器(HTTP/Express/Socket/...),分别配置,并在两者上调用listen()。作为一个快速而肮脏的例子;

    var http = require('http');
    var net  = require('net');
    var repl = require('repl');
    
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World!\n');
    }).listen(8081);
    
    net.createServer(function (socket) {
      repl.start({
        prompt: "node> ", input: socket, output: socket
      }).on('exit', function() {
        socket.end();
      });
    }).listen(8082);
    

    ...将在端口 8081/HTTP 上侦听一条消息,并通过 telnet 向 8082 发送 REPL。

    您自然可以选择重用方法/配置,但这是您的选择,而不是 Node 强制执行的任何操作。

    【讨论】:

    • 感谢您的回复。这对 web 和 api 很有用。但是它会如何寻找命令行界面,因为我认为它不会听 http(?)。如何使用 command.js、REPL 或其他东西与现有应用程序交互。
    • @silverfighter 更新了端口 8082 上的 REPL,而不是另一个 HTTP 端口。
    猜你喜欢
    • 2013-09-08
    • 2023-03-24
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2012-07-17
    • 2021-03-05
    • 2021-04-05
    • 1970-01-01
    相关资源
    最近更新 更多