Javascript 在Node.js中,创建几个“节点”是否正常;服务器";对象,但仅将一个绑定到端口?

Javascript 在Node.js中,创建几个“节点”是否正常;服务器";对象,但仅将一个绑定到端口?,javascript,node.js,express,connect,Javascript,Node.js,Express,Connect,我刚刚读完“Node.js in Action”,我正试图将Node.js-->Connect-->Express的各个部分组合起来。我有一个关于我们在Node中创建的“服务器”的问题 node_server = http.createServer(); connect_app = Connect(); express_app = Express(); 在上面的代码中,connect\u app基本上是node\u server的一个“子类”,这是真的吗?(我知道,这是JavaScript,所

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

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


我学习这一点是否正确?

首先,摆脱三台服务器运行的想法,因为只有一台

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

一个类比是,Express是一辆汽车,Connect就像一个发动机,NodeJS是发动机的零件。您只有一辆正在运行的汽车(在您的案例中只有一台服务器),但有多个组件为其供电


有它的工作原理。

对。我知道它们实际上并不是三个独立运行的服务器——这就是为什么我在标题中引用“服务器”。我更感兴趣的是知道创建多个“服务器”或“应用程序”,但只将一个绑定到一个端口(并让它代理其他端口的请求)的模式是否正常。谢谢你的回答!好吧,它们都同时运行,但您不需要为每个库创建一个实例;当您实例化Express时,它会隐式发生。Express创建Connect的内部实例,该实例创建节点http的内部实例,该实例创建net的内部实例。每个库都在最后一个库的基础上提供了额外的功能。@loneboat据我所知,您不能将一个端口用于多个应用程序。但是,有一个模块可以用来将请求从一个端口路由到另一个端口,在那里您的其他服务器正在运行。@josh3736您有什么更好的方法来解释这个问题。@JosephDreamer:别这么和蔼可亲了-您在互联网上做错了!:-D