Nodejs / Express - 为什么http.createServer(app)中需要app?

问题描述 投票:0回答:2
// get dependencies
const express = require("express");
const http = require('http');
const app = express();

const server = http.createServer(app);

为什么http.createServer(app)中需要应用程序?和http.createServer()有什么区别?

我已经阅读了文档,但我仍然不明白。谁能解释一下?

node.js express
2个回答
1
投票

app传递给http.createServer的原因与Dependency Injection有关,http.createServer是一种定义外部依赖关系的模式。

http接受将在内部用于处理传入消息和传出响应的外部类。

这允许您编写自己的类来处理传入/传出消息,而无需自己修改this的内部。在您的情况下,您正在使用Express的课程。


1
投票

createServer方法需要一个对象,该对象将定义如何处理对服务器的请求。检查qazxswpoi。您传递的应用程序实际上是您希望如何处理每个请求。如果你没有传递任何东西,它只会启动一个服务器,并且在收到的每个请求上都不会发生任何事情。

© www.soinside.com 2019 - 2024. All rights reserved.