[英]Node.js Application with multiple endpoints
我有一個node.js應用程序,它只是一個庫。 不,我不想為該應用程序提供不同的端點。
我想通過express獲得一個網頁,我想擁有一個管理命令行(將來可能還會有一個Rest Api。)
因此,如何構造一個node.js應用程序以公開一個網站和一個Admin Command Line Interface。 這樣,管理員就可以同時通過命令行與該應用程序進行交互。 關鍵是要連接到正在運行的流程並與之交互(保存生產)。
由於節點是異步的,因此同時偵聽多個端點沒有問題。 該程序的結構基本上是創建兩個服務器(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強制執行的任何操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.