// get dependencies
const express = require("express");
const http = require('http');
const app = express();
const server = http.createServer(app);
为什么http.createServer(app)中需要应用程序?和http.createServer()有什么区别?
我已阅读文档,但我仍然不明白。谁能解释一下?
答案 0 :(得分:1)
createServer方法需要一个对象来定义如何处理对服务器的请求。检查this。您传递的应用程序实际上是您希望如何处理每个请求。如果你没有传递任何东西,它只会启动一个服务器,并且每个收到的请求都不会发生任何事情。
答案 1 :(得分:1)
app
传递给http.createServer
的原因与Dependency Injection有关,这是一种定义外部依赖关系的模式。
http.createServer
接受将在内部用于处理传入消息和传出响应的外部类。
这允许您编写自己的类来处理传入/传出消息,而无需自己修改http
的内部。在您的情况下,您正在使用Express的课程。