0

在我的 NestJS 项目中,我有两个模块:FooModuleBarModule

FooModule模块:

@Module({
  providers: [
    {
      provide: Foo,
      useValue:
        Factory.createFoo()
    },
  ],
  exports: [Foo],
})
export class FooModule {}

里面有一个FooFooModule

@Injectable()
export class Foo {
 ...
}

正如您在上面看到的,FooModule为想要Foo通过provider.

然后,我有一个BarModule

@Module({
  imports: [
    FooModule,
    ThirdPartyLibrary.init({
       data: Foo.generateData(process.env.NODE_ENV);
    })
  ],
})
export class BarModule {}

正如您在上面看到的,在BarModule'simports中,我需要调用Foo我需要访问的静态方法,process.env.NODE_ENV但它的值是undefined当我记录值时。

是因为process.env.NODE_ENV只有在模块初始化后才可用?如果是这样,什么可能是替代解决方案?基本上,我必须ThirdPartyLibrary.init(...)在 BarModule 内部调用并让值基于process.env.NODE_ENV.

4

0 回答 0