带有 ClientsModuleOptions 的 Nestjs 环境变量
Posted
技术标签:
【中文标题】带有 ClientsModuleOptions 的 Nestjs 环境变量【英文标题】:Nestjs env variable with ClientsModuleOptions 【发布时间】:2021-11-03 14:17:55 【问题描述】:我有以下 IP 和端口,但我想将其与环境变量一起携带,以便可以从那里进行编辑
import ClientsModuleOptions, Transport from "@nestjs/microservices"
export const GatewayOptions: ClientsModuleOptions = [
name: 'MICRO-ADMIN',
transport: Transport.TCP,
options:
host: '127.20.20.2',
port: 4000,
,
,
name: 'MICRO-DEV',
transport: Transport.TCP,
options:
host: '127.30.30.3',
port: 5000,
,
,
];
我将此配置导入模块。
import Module from '@nestjs/common';
import ClientsModule from '@nestjs/microservices';
import GatewayOptions from 'src/utils/gateway/gateway';
import AuthModule from './../auth/auth.module';
import CategoryModule from './../category/category.module';
import GameController from './game.controller';
import GameService from './game.service';
@Module(
imports: [
AuthModule,
CategoryModule,
ClientsModule.register(GatewayOptions)
],
controllers: [GameController],
providers: [GameService],
exports: [GameService],
)
export class GameModule
【问题讨论】:
【参考方案1】:你需要使用 register async 才能使用ConfigService
关注文档:https://docs.nestjs.com/microservices/basics#client
@Module(
providers: [
provide: 'MATH_SERVICE',
useFactory: (configService: ConfigService) =>
const mathSvcOptions = configService.getMathSvcOptions();
return ClientProxyFactory.create(mathSvcOptions);
,
inject: [ConfigService],
]
...
)
以下是配置ConfigService
的方法:https://docs.nestjs.com/techniques/configuration#configuration
【讨论】:
以上是关于带有 ClientsModuleOptions 的 Nestjs 环境变量的主要内容,如果未能解决你的问题,请参考以下文章
使用带有 uuencode 的“sendmail”发送邮件,并带有主题
带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢