如何将配置从配置服务传递到 Nest.js 装饰器?

2024-04-25

我将 @UseInterceptors 与 @nestjs/platform-express 中的 FilesInterceptor 一起使用。 FilesInterceptor 允许我传递一些配置(例如文件存储文件夹)。我想传递不精确的值(例如“public”),而是从 configService 获取它们。

从这个答案(https://stackoverflow.com/a/59828094/13128344 https://stackoverflow.com/a/59828094/13128344)我明白为什么从 UseInterceptors 调用 this.configService 会导致未定义。

@UseInterceptors(FilesInterceptor('cat_pic', 2, this.configService.get('storageConfigs')))

那么如何将配置传递给 FilesInterceptor 呢?或者,如果我将文件拦截器功能移至单独的模块,如何访问服务?


您的一种选择是致电config()来自dotenv包将所有内容加载到process.env在你的main.ts。您仍然可以使用ConfigModule and ConfigService其他地方,但在装饰器中你会使用它process.env.storageConfigs多变的。

另一种选择是像这样的包@golevelup/配置 https://github.com/golevelup/ts-ecosystem/blob/master/libs/profiguration/README.md这是一个配置服务can由于其编写方式而在装饰器中使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将配置从配置服务传递到 Nest.js 装饰器? 的相关文章

随机推荐