Nestjs:无法读取 'env' 文件变量

Nestjs: Unable to read 'env' file variables

我无法读取应用程序模块中的 env 文件变量。很奇怪我可以在“main.ts”文件中访问这些变量。

这是应用程序模块中的代码:

console.log(process.env.DB_URI); // logs undefined

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: ['.env'],
      isGlobal: true,
      cache: true,
    }),
    UsersModule,
    FoodItemsModule,
    MacroCalculatorModule,
    MongooseModule.forRoot(process.env.DB_URI),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

问题是,如果您在应用程序模块中调用 process.env,它只会在您的 Nest 依赖项初始化后可用。

示例:

`console.log(process.env.DB_URI);` // logs undefined because your dependencies are not 
                                //intialized

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: ['.env'],
      isGlobal: true,
      cache: true,
    }),
    UsersModule,
    FoodItemsModule,
    MacroCalculatorModule,
    MongooseModule.forRoot(process.env.DB_URI),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {
     console.log(process.env.DB_URI); // THIS WILL LOG YOUR INFORMATION, because it is 
                                     // called after dependecies are intialized.
}

希望这能解决您的问题。