NestJS01-小试牛刀

653 阅读2分钟

NestJS介绍

中文官网地址:Nest (NestJS)

简单的讲就是一个比较流行的通过TypeScript来写后端应用程序的开发框架,横向对比的话类似于egg。比KoaExpress这种接近源生框架更加好用,集成了很多比较实用的功能,而且写法(注解,模块)上简单易懂,易于维护。

学习NestJS 的一些前提条件

  1. 有前端开发经验,懂得JavaScript基础语法
  2. 有一定的NodeJS基础
  3. 了解docker相关的知识(可选),方便创建关系/非关系型数据库等
  4. 了解面向对象的一些抽象概念
  5. 知道TypeScript

创建一个简单项目

  • 全局安装nestjs,然后创建一个项目,然后选择pnpm,然后等待创建项目。
$ npm i -g @nestjs/cli
$ nest new project01

createProject.jpg

  • 之后就会生成以下代码文件:
文件名说明
app.controller.ts带有单个路由的基本控制器。
app.controller.spec.ts针对控制器的单元测试。
app.module.tsT应用程序的根模块(root module)。
app.service.ts具有单一方法的基本服务(service)。 method.
main.ts应用程序的入口文件,它使用核心函数 NestFactory 来创建 Nest 应用程序的实例
  • 打开 main.ts, 代码如下,在一个异步调用函数里创建了Nest实例,并且监听了3000端口
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

平台选择

目前支持两个 HTTP 平台:express 和 fastify。 您可以根据您的需求选择最适合平台。通俗的讲,express的社区资源更全面,解决方案最多,fastify性能更好,对性能有要求的推荐使用。根据不同的用途来选择相应的平台就行了。

platform-expressExpress 是一个著名的、极简的、专为 node 开发的 web 框架。它久经考验、适用于生产环境的软件库,并且拥有大量的社区资源。默认情况下使用 @nestjs/platform-express 软件包。许多用户对 Express 都很满意,并且无需采取任何操作即可启用它。
platform-fastifyFastify 是一个高性能且低开销的框架,高度专注于提供最高的效率和速度。点击 这里 查看它的使用文档。

运行应用程序

执行下面,并通过浏览器访问网页,便可看到内容。

$ npm run start

npmstart.jpg

localhost.jpg

代码地址

文章代码