📜  Nestjs 初学者教程 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:33:05.994000             🧑  作者: Mango

Nestjs 初学者教程 - TypeScript

如果你想学习如何使用 Nestjs 构建 Node.js 应用,那么这篇教程就是为你准备的。我们将涵盖 Nestjs 的基础知识,包括 TypeScript 的使用和如何使用 Nestjs 中的模块、控制器和服务来构建应用。

安装

我们需要先安装 Node.js 和 npm,这些工具可以下载官方网站上的安装程序来安装。安装后,我们可以通过以下命令来检查是否正确安装:

node -v
npm -v

接下来,我们可以使用 npm 安装 Nestjs CLI:

npm i -g @nestjs/cli

安装完毕后,我们可以创建一个新的 Nestjs 应用程序:

nest new my-app
cd my-app

安装完毕后,我们可以运行以下命令启动开发服务器:

npm run start:dev

这会在本地主机上启动一个 HTTP 服务器,监听 http://localhost:3000

TypeScript 基础知识

Nestjs 使用 TypeScript 作为开发语言。如果你对 TypeScript 不熟悉,那么可以参考下面的简单介绍:

TypeScript 是一种静态类型检查的编程语言,它被设计成 JavaScript 的超集,编译时会将 TypeScript 代码编译成 JavaScript 代码。

TypeScript 具有以下优点:

  • 更好的代码提示和智能感知
  • 更好的错误检查和类型检查
  • 更好的可读性和代码维护性
Nestjs 模块

Nestjs 应用程序由不同的模块组成,每个模块都是独立的,在代码可重用、可测试和可维护性方面具有很多优点。我们可以通过使用 @Module 装饰器来定义模块。

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

在上面的代码中,我们定义了一个 AppModule 模块,并通过 importscontrollersproviders 属性向应用程序添加了一些基本组件。

Nestjs 控制器

在 Nestjs 中,控制器是负责处理 HTTP 请求和响应的组件,可以通过 @Controller 装饰器来定义一个控制器,例如:

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}

在上面的代码中,我们创建了一个 AppController 控制器,并使用 @Controller 装饰器来指定路由的基路径。我们还创建了一个 GET 路由函数,该函数将请求代理到 appService.getHello 函数。

Nestjs 服务

在 Nestjs 中,服务是一个可以从控制器、路由和其他组件中注入的可重用代码单元。我们可以通过 @Injectable 装饰器来定义服务,并使用构造函数注入来注入服务,例如:

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}

在上面的代码中,我们定义了一个 AppService 服务,在其中包含了一个 getHello 函数。服务使用 @Injectable 装饰器进行注释,以使用依赖注入。

总结

到此为止,我们已经涵盖了 Nestjs 的基础知识,包括 TypeScript 的使用和如何使用 Nestjs 来构建应用。如果你想深入了解 Nestjs,请继续阅读官方文档。

本篇教程共有 4 个代码示例,它们分别是:创建新应用、增加模块、增加控制器和增加服务。欢迎在本地运行这些代码并尝试其它的功能。