簡體   English   中英

具有多個端點的Node.js應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM