nest 服务提供者

nest 服务提供者

类注册

ts
import { Module } from "@nestjs/common"
import { AppController } from "./app.controller"
import { AppService } from "./app.service"
import { MyService } from "./my/my.service"

@Module({
    imports: [],
    controllers: [AppController],
    providers: [AppService, MyService],
})
export class AppModule {}

使用:

ts
export class AppController {
    constructor(private readonly MyService) {}
}

完整写法,可更改提供者名称

使用:

ts
export class AppController {
    constructor(@Inject('myService') private readonly myService) {}
}

基本数据注册

使用:

ts
export class AppController {
    constructor(@Inject('config') private readonly config) {}
}

动态加载模块

实现根据不同的环境创建不同的服务,首先需要获取 env 环境变量

bash
pnpm add dotenv

创建 app.service.tsmy.service.ts

根据不同环境变量动态设置服务

自定义 DbModule 接入 typegoose

GitHub 仓库地址

主要代码实现

使用GitHubActions部署
nest 拦截器

评论区

评论加载中...