node.js - 如何将配置从配置服务传递给 Nest.js 装饰器?
问题描述
我将 @UseInterceptors 与来自 @nestjs/platform-express 的 FilesInterceptor 一起使用。FilesInterceptor 允许我传递一些配置(如文件存储文件夹)。我想传递的不是确切的值(例如“public”),而是从 configService 获取它们。
从这个答案(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/profiguration这样的包,它是一个配置服务,由于它的编写方式,它可以在装饰器中使用。
推荐阅读
- javascript - 我试图隔离的活动选项卡问题
- python - 如何简化过滤掉无效字符的代码
- python - Python 是否有可导入的音频剪辑数据集?
- excel - 如何在excel中将字符串拆分为数组并从列值列表中匹配
- bash - Bash:是否可以为特定应用程序保留内存
- python - 使用 Pivot 时保留列顺序
- azure-devops - Azure DevOps 仪表板饼图的默认颜色
- node.js - 我怎样才能让猫鼬返回 objectID?
- python - 无法将 SQL 数据读入 ReportLab 行
- java - 如何在 JsonArrayRequest 中传递参数,根据给定参数从数据库中获取值