我有一个 node.js 应用程序,它只是一个库。不,我想为该应用程序提供不同的端点。
我想通过 express 有一个网页我想有一个管理命令行(并且将来可能是一个 Rest Api。)
那么如何构建 node.js 应用程序以公开网站和管理命令行界面。这样管理员也可以同时通过命令行与该应用程序交互。关键是连接到正在运行的进程并与之交互(生产保存)。
我有一个 node.js 应用程序,它只是一个库。不,我想为该应用程序提供不同的端点。
我想通过 express 有一个网页我想有一个管理命令行(并且将来可能是一个 Rest Api。)
那么如何构建 node.js 应用程序以公开网站和管理命令行界面。这样管理员也可以同时通过命令行与该应用程序交互。关键是连接到正在运行的进程并与之交互(生产保存)。
由于节点是异步的,因此同时监听多个端点没有问题。该程序的结构基本上只是创建两个服务器(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 上侦听一条消息,并通过远程登录到 8082 的 REPL。
您自然可以选择重用方法/配置,但这是您的选择,而不是 Node 强制执行的任何操作。