如何解决如何将配置从配置服务传递给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
和ConfigService
,但是在装饰器中,您将使用该process.env.storageConfigs
变量。
另一种选择是像@golevelup/profiguration这样的软件包,它是一种配置服务,由于其编写方式,可以在装饰器中使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。