2

我想用 Nest.js 创建一个动态模块,这个模块旨在提供一个变量,在这个函数中初始化,在我的应用程序的其余部分。

该变量必须根据我的环境变量进行初始化,这些环境变量存储在我项目的 .env 文件中。

当我尝试从服务访问它时没有问题(使用 process.env 和 ConfigModule 注入)。

但是当我想从我的静态函数 forRoot 中执行此操作时,有问题的环境变量为空。

.env 文件 在此处输入图像描述

应用模块: 在此处输入图像描述

核心模块: 在此处输入图像描述

Firebase 模块: 在此处输入图像描述

在 FirebaseModule 中,我的环境变量为空。

我尝试了什么:

  • 我尝试将 ConfigModule 导入移动到 CoreModule 而不是 AppModule,在这种情况下,我可以访问我的环境变量
  • 我尝试在 forRoot 函数的参数中添加所需的配置:
@Module({
    imports: [
        ConfigModule,
        FirebaseModule.forRoot({
            url: process.env.FIREBASE_ADMIN_DATABASE_URL,
            key: process.env.FIREBASE_ADMIN_PRIVATE_KEY,
            id: process.env.FIREBASE_ADMIN_PROJECT_ID,
            email: process.env.FIREBASE_ADMIN_CLIENT_EMAIL
        })
    ]
})
export class CoreModule {
}

但这并不能解决我的问题。

有谁知道如何解决这个问题?谢谢

4

0 回答 0