我有一个node.js应用程序,它只是一个库。不,我想为该应用程序提供不同的端点。
我想通过快递网页 我想有一个管理命令行 (并且将来可能是休息Api。)
那么如何构建一个node.js应用程序来公开网站和管理命令行界面。因此,管理员可以同时通过命令行与该应用程序进行交互。关键是要连接到正在运行的进程并与之交互(生产保存)。
答案 0 :(得分: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.
您可以自然地选择重用方法/配置,但这是您的选择,而不是Node强制执行的任何操作。