Skip to content

业务端点

更新: 1/16/2025 字数: 0 字 时长: 0 分钟

endpoints

src/endpoints目录是项目业务代码入口,所有的业务相关代码集中写在这个目录下,可以根据业务用途和分类,使用不同的目录名称进行归档,src/endpoints根目录下的endpoints.module.ts用于注册所有业务端点并导出给最外层的root.module.ts

提示

本模板中内置了adminapp两个大分类和大分类下的一些功能模块用于示例:

  • admin 提供给admin后台管理的接口
  • app 提供给前台应用程序的接口
├── admin // admin大分类
│   ├── admin-dict // admin大分类下的功能模块 字典模块
│   ├── admin-roles // admin大分类下的功能模块 角色模块
│   ├── admin-users // admin大分类下的功能模块 用户模块
│   └── admin.module.ts // 将admin分类下的所有模块注册并导出给endpoints.module.ts
├── app // app大分类
│   ├── app.module.ts // 将app分类下的所有模块注册并导出给endpoints.module.ts
│   ├── error-example // app大分类下的功能模块 错误示例模块
│   ├── rate-limit // app大分类下的功能模块 限流示例模块
│   ├── redis-example // app大分类下的功能模块 redis使用示例模块
│   └── users // app大分类下的功能模块 用户增删改查示例模块
└── endpoints.module.ts // 将端点模块注册并导出给root.module.ts

可以根据需求自行增加或删除端点分类。

注意

如果需要使用内置的RBAC权限系统,请勿删除admin目录

新增端点分类

如果需要新增端点分类,只需要在src/endpoints下新建一个目录,例如web,然后在web内写入一个web.module.ts,然后将WebModuleendpoints.module.ts中注册即可:

ts
import { Module } from '@nestjs/common';
@Module({
	imports: [],
})
export class WebModule {}
ts
import { Module } from '@nestjs/common';
import { AppModule } from './app/app.module';
import { AdminModule } from './admin/admin.module';
import { WebModule } from './web/web.module';

@Module({
	imports: [
		AppModule,
		AdminModule,
		WebModule,
	],
	providers: [],
})
export class EndpointsModule { }

目录结构示例如下:

├── admin // admin大分类
│   ├── ...
│   └── admin.module.ts 
├── app // app大分类
│   ├── app.module.ts 
│   ├── ...
├── web // web大分类
│   ├── web.module.ts 
│   ├── ...
└── endpoints.module.ts

建议

  • 建议使用@nestjs/cli,在src/endpoints目录下执行nest g mo web即可创建web模块作为一个新的端点分类,并自动注册到endpoints.module.ts
  • 后续web相关的功能模块,均在web目录下创建和编写,在web目录下执行nest g res xxx即可创建功能模块,并自动注册到WebModule

Released under the MIT License.