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