node.js - Nodejs/Express - 为什么 http.createServer(app) 内部需要应用程序?

标签 node.js express

// get dependencies
const express = require("express");
const http = require('http');
const app = express();

const server = http.createServer(app);

为什么http.createServer(app)内部需要app?它和 http.createServer() 有什么区别?

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

最佳答案

之所以将app传递给http.createServer,与Dependency Injection有关。 ,一种定义外部依赖关系的模式。

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

这允许您编写自己的类来处理传入/传出消息,而无需自己修改 http 的内部结构。在您的例子中,您正在使用 Express 的类。

关于node.js - Nodejs/Express - 为什么 http.createServer(app) 内部需要应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49105774/

相关文章:

node.js - 如何使用回调通过nodejs中的嵌套函数从主函数返回?

javascript - Node.js Telegram 机器人无法将用户从 super 组中踢出

javascript - 添加元数据以表达路线

javascript - 尝试通过 Axios 打印 Get 请求中的数据

javascript - 使用express js的多部分表单数据发布方法

javascript - 将 "exports"分配给 nodejs 模块中的函数不起作用

javascript - 树莓派上的 node.js 服务器

快速路由参数

express - 如何在 Express.js 中访问发布请求的原始正文?

javascript - 是否可以使用 Java 中基于 Node.JS 的模块?