0

我刚刚读完“Node.js in Action”,我正在尝试将 Node.js 的各个部分组合在一起 --> Connect --> Express。我对我们在 Node.js 中创建的“服务器”有疑问。

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

connect_app在上面的代码中,它基本上是 的“子类”是真的node_server吗?(我知道,这是 JavaScript,所以我们实际上没有子类化,但我不知道还能叫它什么;扩展?)。同样express_app基本上是 ? 的“子类” connect_app?据我了解,所有这些对象都是可以绑定到端口并响应请求的服务器,但实际上我们通常只将其中一个绑定到端口并使用它将请求代理到其他服务器对象。

我在学习这个方面是否走在正确的轨道上?

4

1 回答 1

0

首先,摆脱有 3 个正在运行的服务器的想法——因为只有一个。

Express 是一个依赖于 Connect 的框架,Connect 是另一个框架/中间件集。此外,Connect 依赖于 NodeJS 的 API(HTTP 模块)。基本上是一种抽象,一个在另一个之上。

打个比方,Express 是汽车,Connect 是引擎,NodeJS 是引擎部件。您只有一辆正在运行的汽车(在您的情况下是一台服务器),但有多个组件为其供电。

@josh3736评论了一个更好的解释它是如何工作的。

于 2013-10-17T14:43:04.457 回答