繁体   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