express和http之间的技术区别是什么,并为此连接

var express = require("express") , app = express() , http = require("http").createServer(app) 

我经常看到这些被放在依赖关系。 从我的理解来看,http主机的前端html? 并表示拥有服务器端的nodejs逻辑? 连接是快递的基础层,所以也是一个服务器端模块?

如果情况并非如此,为什么人们不这样做

 express().listen(8080) 

代替

 require("http").createServer(express()).listen(8080) 

Expresshttp上的另一层。 它负责处理Web应用程序所需的基本重复任务。 connect是一个中间件,它也负责处理Web应用程序所需的基本重复任务。

整个想法,使用任何框架的背后是保持干爽 ,不要重复自己。 像parsing请求主体parsingcookie这样的任务对于每个Web应用程序都是非常重要的。 Express 默认提供它们。

在Express 4.x中,它大部分都被重构成了几个粒度模块,比如body-parsermorgan等等。可以直接使用它们而不使用express。 请参阅Express – GitHub获取完整的模块集。

Expresshttp另一层,意思是Express内部使用http 。 换句话说,它是一个http包装器。 如果你看看Express的源代码,你会发现它在内部使用http 。 请参阅https://github.com/strongloop/express/blob/master/lib/application.js#L540-543中突出显示的声明