node.http 模块提供了最基础的 web 服务,但是不利于业务开发。
Express 则是提供了标准的 request/response,以及中间件和路由,基本满足业务开发的需求。
Nestjs 则是在 Express 的基础上提供了依赖注入的能力,并且要求代码组织结构满足一定的规范。
注意到 Nestjs 的核心是数据库无关的,也就是说可以和 Express 一样引入数据库驱动/数据库 orm 框架即可操作数据库。当然也可以引入 GraphQL 框架来开发 GraphQL 应用。注意到 Express 也是可以开发 GraphQL 应用的,所以没有本质上的区别。只不过 Nestjs 本身提供了很多官方的 npm 包。