NestJS 基础应用教程
1、项目的目录结构及介绍
base-app-nestjs/
├── src/
│ ├── app.module.ts
│ ├── main.ts
│ ├── modules/
│ │ ├── user/
│ │ │ ├── user.module.ts
│ │ │ ├── user.service.ts
│ │ │ ├── user.resolver.ts
│ │ │ └── user.entity.ts
│ │ └── ...
│ ├── shared/
│ │ ├── constants/
│ │ ├── decorators/
│ │ ├── exceptions/
│ │ ├── filters/
│ │ ├── guards/
│ │ ├── interceptors/
│ │ ├── interfaces/
│ │ ├── pipes/
│ │ └── utils/
│ └── ...
├── test/
│ ├── app.e2e-spec.ts
│ └── jest-e2e.json
├── .env
├── .env-sample
├── .gitignore
├── docker-compose.yml
├── package.json
├── tsconfig.json
└── ...
目录结构介绍
src/
:项目的源代码目录。app.module.ts
:应用的主模块。main.ts
:应用的入口文件。modules/
:包含各个业务模块。user/
:用户模块,包含用户相关的服务、解析器和实体。
shared/
:共享模块,包含常量、装饰器、异常处理、过滤器、守卫、拦截器、接口和工具类。
test/
:测试目录,包含端到端测试文件和配置。.env
:环境变量文件。.env-sample
:环境变量示例文件。.gitignore
:Git忽略文件配置。docker-compose.yml
:Docker配置文件。package.json
:项目依赖和脚本配置。tsconfig.json
:TypeScript配置文件。
2、项目的启动文件介绍
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();
main.ts
是应用的入口文件,负责启动应用。- 使用
NestFactory.create
方法创建应用实例。 - 调用
app.listen
方法启动服务器,监听端口 3000。
3、项目的配置文件介绍
.env
# 数据库配置
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=password
DB_DATABASE=nestjs_base_app
# 应用配置
PORT=3000
.env
文件用于存储环境变量,如数据库配置和应用端口。- 通过配置文件可以灵活地管理不同环境下的配置。
docker-compose.yml
version: '3.7'
services:
postgres:
image: postgres:12
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: nestjs_base_app
ports:
- '5432:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
docker-compose.yml
文件用于定义 Docker 服务。- 配置了 PostgreSQL 数据库服务,包括环境变量、端口映射和数据卷。
通过以上配置,可以快速启动和配置 NestJS 应用及其依赖服务。