2. Nest.js 基础:创建第一个应用
介绍
嘿,欢迎回来!在上一篇文章中,我们已经为 Nest.js 的开发环境铺好了路,并成功创建了一个新项目。现在,是时候动手实践,创建你的第一个 Nest.js 应用了!这篇文章将带你一步步了解如何创建和运行一个简单的 Nest.js 应用,并介绍一些基本的概念和结构。
创建第一个应用
1. 项目结构
首先,让我们来看看通过 nest new 命令生成的项目结构。就像打开一个新玩具的包装盒一样,我们来看看里面都有什么:
project-name/
├── src/
│ ├── app.controller.ts
│ ├── app.controller.spec.ts
│ ├── app.module.ts
│ ├── app.service.ts
│ └── main.ts
├── test/
├── .eslintrc.js
├── .prettierrc
├── nest-cli.json
├── package.json
├── tsconfig.build.json
└── tsconfig.json
src/目录:这里是你的代码主战场。app.controller.ts:控制器文件,负责处理请求。app.service.ts:服务文件,负责业务逻辑。app.module.ts:应用的根模块,像是应用的大脑。main.ts:应用的入口文件,启动应用的地方。
2. 入口文件 (main.ts)
main.ts 文件是应用的入口点,就像是按下启动按钮:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
在这个文件中,我们使用 NestFactory 创建了一个 Nest.js 应用实例,并让它监听在 http://localhost:3000 端口。就像是告诉应用:“嘿,去这个地址等着,有人会来找你!”
3. 根模块 (app.module.ts)
app.module.ts 文件定义了应用的根模块,像是应用的大脑,指挥各个部分如何协作:
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
@Module装饰器:用来描述模块的配置。controllers数组:包含了该模块的控制器。providers数组:包含了该模块的提供者(服务)。
4. 控制器 (app.controller.ts)
app.controller.ts 文件定义了一个基本的控制器,负责处理请求并返回响应:
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();
}
}
@Controller装饰器:定义一个控制器。@Get装饰器:定义一个 GET 请求的路由。getHello方法:调用AppService的getHello方法,并返回一个字符串。
5. 服务 (app.service.ts)
app.service.ts 文件定义了一个基本的服务,负责处理业务逻辑:
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello World!';
}
}
@Injectable装饰器:定义一个可注入的服务。getHello方法:返回一个字符串 "Hello World!"。
运行应用
现在,我们已经了解了项目的基本结构和各个文件的作用。让我们运行应用并测试一下。
在项目根目录下运行以下命令:
npm run start
打开浏览器,访问 http://localhost:3000,你应该会看到 "Hello World!" 的响应。这表示你的第一个 Nest.js 应用已经成功运行!
结论
在这篇文章中,我们创建了一个基本的 Nest.js 应用,并介绍了项目的基本结构和各个文件的作用。通过运行应用并访问默认路由,我们验证了应用的正确性。在接下来的文章中,我们将深入探讨 Nest.js 的模块化架构,了解如何使用模块来组织和管理你的应用。
接下来,我们将进入第三篇文章,介绍 Nest.js 的模块化架构。准备好了吗?让我们继续前进吧!