Kev*_*lin 4 node.js microservices nestjs
我想知道在引导我的微服务期间是否以正确的方式获取 ConfigService。
有没有办法使用 NestFactory.createMicroservice() 来做到这一点?
async function bootstrap() {
const app = await NestFactory.create(CoreModule, {
logger: new MyLogger(),
});
const configService: ConfigService = app.get(ConfigService);
app.connectMicroservice({
transport: Transport.TCP,
options: {
port: configService.PORT,
},
});
await app.startAllMicroservicesAsync();
}
Run Code Online (Sandbox Code Playgroud)
是的,有一种方法可以在 NestFactory 中做到这一点,您已经以正确的方式做到了!如果您想要另一个示例,这是我的引导函数:
async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: new MyLogger()
});
const config = app.get<ConfigService>(ConfigService);
const port = config.get('PORT');
configure(app, config);
await app.listen(port);
scribe.info(
`Listening at http://localhost:${port}/${config.get('GLOBAL_PREFIX')}`
);
}
Run Code Online (Sandbox Code Playgroud)
MyLoggerNest 默认记录器的自定义实现在哪里,并且configure(app, config)大量应用程序配置在单独的文件中完成以保持bootstrap功能精简且易于维护。当然,在投入生产之前,“正在收听...”也需要更改,但这个应用程序对我来说仍在开发中。
我唯一建议你的就是改变
const configService: ConfigService = app.get(ConfigService);
Run Code Online (Sandbox Code Playgroud)
到
const configService = app.get<ConfigService>(ConfigService);
Run Code Online (Sandbox Code Playgroud)
使用泛型 forapp.get()为您提供类型信息。
| 归档时间: |
|
| 查看次数: |
4102 次 |
| 最近记录: |