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)
Express
是http
上的另一层。 它负责处理Web应用程序所需的基本重复任务。 connect
是一个中间件,它也负责处理Web应用程序所需的基本重复任务。
整个想法,使用任何框架的背后是保持干爽 ,不要重复自己。 像parsing请求主体 , parsingcookie这样的任务对于每个Web应用程序都是非常重要的。 Express
默认提供它们。
在Express 4.x中,它大部分都被重构成了几个粒度模块,比如body-parser
, morgan
等等。可以直接使用它们而不使用express。 请参阅Express – GitHub获取完整的模块集。
Express
是http
另一层,意思是Express
内部使用http
。 换句话说,它是一个http
包装器。 如果你看看Express
的源代码,你会发现它在内部使用http
。 请参阅https://github.com/strongloop/express/blob/master/lib/application.js#L540-543中突出显示的声明