Truthy CMS(NestJS Headless API)项目教程
1. 项目目录结构及介绍
Truthy CMS 是一个基于 NestJS 的 Headless API 项目,其目录结构如下:
truthy/
├── config/ * 包含所有配置文件
│ ├── default.yml * 默认配置文件
│ ├── development.yml * 开发环境配置文件
│ ├── production.yml * 生产环境配置文件
│ └── test.yml * 测试环境配置文件
├── coverage/ * 运行 `yarn coverage` 命令后的覆盖率报告
├── dist/ * 经过 `yarn build` 编译后的生产环境代码
├── images/ * 存储上传的资料图片,该文件夹被 git 忽略
├── src/
│ ├── common/ * 公共帮助函数、DTO、实体、异常、装饰器等
│ ├── config/ * 配置变量文件
│ ├── database/ * 数据库文件夹,包括迁移和种子
│ └── <module>/ * 特定模块的所有文件
│ ├── dto/
│ ├── entity/
│ ├── pipes/
│ ├── serializer/
│ ├── <module>.controller.ts * 模块控制器文件
│ ├── <module>.module.ts * 模块根文件
│ ├── <module>.service.ts * 模块服务文件
│ ├── <module>.service.spec.ts * 服务测试文件
│ ├── <module>.repository.ts * 模块仓库文件
│ └── <module>.repository.spec.ts * 仓库测试文件
├── .gitignore
├── .dockerignore
├── .env.example
├── .eslintrc.js
├── .husky/
├── .lintstagedrc.json
├── .prettierrc
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── Dockerfile.dev
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Procfile
├── README.md
├── docker-compose-test.yml
├── docker-compose.yml
├── index.js
├── nest-cli.json
├── package.json
├── tsconfig.build.json
├── tsconfig.json
└── yarn.lock
2. 项目的启动文件介绍
项目的启动文件是 src/index.ts
,该文件的主要作用是创建 NestJS 应用实例并监听指定的端口。以下是一个简化的启动文件示例:
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
来创建 NestJS 应用实例,并导入了 AppModule
作为应用的根模块。然后,我们调用 bootstrap
函数来启动应用,并监听默认的端口 3000
。
3. 项目的配置文件介绍
项目的配置文件位于 config
文件夹中,根据不同的环境(开发、生产、测试)有不同的配置文件。以下是一个配置文件的示例:
# config/default.yml
server:
port: 3000
database:
host: localhost
port: 5432
username: postgres
password: root
database: truthy
redis:
port: 6379
host: localhost
在 default.yml
文件中,我们定义了服务器的端口、数据库的连接信息以及 Redis 的连接信息。这些配置项可以根据实际环境进行调整,例如在生产环境中,你可能需要更改数据库的主机名、端口号、用户名和密码。
在运行项目时,环境变量会覆盖配置文件中的对应设置,这使得在不同环境中灵活配置项目成为可能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考