簡體   English   中英

在Node.js中,創建多個“服務器”對象但僅將一個對象綁定到端口是否正常?

[英]In Node.js, is it normal to create several “server” objects, but only bind one to a port?

我即將讀完“ Node.js in Action”,並且試圖將Node.js的各個部分放在一起-> Connect-> Express。 我對在Node中創建的“服務器”有疑問。

node_server = http.createServer();
connect_app = Connect();
express_app = Express();

在上面的代碼中, connect_app node_servernode_server的“子類”嗎? (我知道,這是JavaScript,所以我們實際上沒有子類化,但是我不知道該怎么稱呼它,擴展名?)。 同樣, express_app基本上是connect_app的“子類”? 據我了解,所有這些對象都是可以綁定到端口並響應請求的服務器,但實際上,我們通常只將其中一個綁定到端口,並使用它將請求代理到其他服務器對象。

我是否在學習此課程的正確道路上?

首先,擺脫掉有3台正在運行的服務器的想法-因為只有一台。

Express是一個依賴於Connect的框架,Connect是另一個中間件框架/集。 此外,Connect依賴於NodeJS的API(HTTP模塊)。 基本上是一種抽象,一種在另一種之上。

打個比方,Express是一輛汽車,Connect就像是引擎,NodeJS是引擎零件。 您只有一輛正在行駛的汽車(您的情況下是一台服務器),但是有多個組件為其提供動力。

@ josh3736 評論了一個更好的解釋它是如何工作的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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