具有多个端点的Node.js应用程序

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

我想通过快递有一个网页我想有一个pipe理员命令行(和未来也许一个restApi)。

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

由于节点是asynchronous的,所以同时监听多个端点没有问题。 程序的结构基本上就是创build两个服务器(HTTP / Express / Socket / …),分开configuration,并在两者上调用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。

您自然可以select重用方法/configuration,但这是您的select,而不是由Node实施的任何东西。