NestJS Boilerplate 项目教程
1. 项目的目录结构及介绍
目录结构
nestjs-boilerplate/
├── src/
│ ├── app.module.ts
│ ├── main.ts
│ ├── config/
│ │ ├── configuration.ts
│ │ └── database.ts
│ ├── modules/
│ │ ├── auth/
│ │ │ ├── auth.module.ts
│ │ │ ├── auth.service.ts
│ │ │ └── auth.controller.ts
│ │ └── user/
│ │ ├── user.module.ts
│ │ ├── user.service.ts
│ │ └── user.controller.ts
│ └── shared/
│ ├── constants/
│ └── utils/
├── test/
├── .env
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md
目录介绍
src/
:项目的源代码目录。app.module.ts
:应用程序的根模块。main.ts
:应用程序的入口文件。config/
:配置文件目录。configuration.ts
:全局配置文件。database.ts
:数据库配置文件。
modules/
:业务模块目录。auth/
:认证模块。user/
:用户模块。
shared/
:共享模块目录。constants/
:常量目录。utils/
:工具目录。
test/
:测试文件目录。.env
:环境变量文件。.gitignore
:Git忽略文件。package.json
:项目依赖和脚本文件。tsconfig.json
:TypeScript配置文件。README.md
:项目说明文件。
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
文件是 NestJS 应用程序的入口点。- 使用
NestFactory.create
方法创建应用程序实例。 - 调用
app.listen
方法启动应用程序,监听端口 3000。
3. 项目的配置文件介绍
配置文件
config/configuration.ts
:全局配置文件。config/database.ts
:数据库配置文件。
代码示例
configuration.ts
export default () => ({
port: parseInt(process.env.PORT, 10) || 3000,
database: {
host: process.env.DATABASE_HOST || 'localhost',
port: parseInt(process.env.DATABASE_PORT, 10) || 5432,
},
});
database.ts
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
const config: TypeOrmModuleOptions = {
type: 'postgres',
host: process.env.DATABASE_HOST || 'localhost',
port: parseInt(process.env.DATABASE_PORT, 10) || 5432,
username: process.env.DATABASE_USER || 'root',
password: process.env.DATABASE_PASSWORD || 'root',
database: process.env.DATABASE_NAME || 'test',
entities: [__dirname + '/../**/*.entity{.ts,.js}'],
synchronize: true,
};
export default config;
介绍
configuration.ts
文件定义了应用程序的全局配置,包括端口和数据库配置。database.ts
文件定义了数据库连接的详细配置,包括数据库类型、主机、端口、用户名、密码和数据库名称。- 这些配置文件通常在应用程序启动时加载,并根据环境变量进行配置
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考