配置设置:“ path”参数必须是以下类型之一[...]接收的类型未定义

时间:2019-10-04 12:18:14

标签: nestjs

我跟随Configuration guide

模块

ffmpeg -s 320x240 -f video4linux2 -i /dev/video0 -f image2 -update 1 ../web/client/t.jpg

服务:

@Module({
  providers: [
    {
      provide: ConfigService,
      useValue: new ConfigService(`development.env`),
    },
  ],
  exports: [ConfigService],
})
export class ConfigModule {}

每当我运行该应用程序时:

export interface EnvConfig {
  [key: string]: string;
}
export class ConfigService {
  private readonly envConfig: EnvConfig;

  constructor(filePath: string) {
    console.log(filePath);
    const config = dotenv.parse(fs.readFileSync(filePath));
    this.envConfig = ConfigService.validateInput(config);
  }
[...]

似乎该服务已实例化2次。我不知道为什么知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:1)

根据我们对不和谐的讨论,您providing中的ConfigServiceAppModule中的importing,而也是 ConfigModule ConfigService导致Nest认为它需要重新实例化filePath,但构造函数没有ConfigService变量。

providers的{​​{1}}数组中删除AppModule将解决问题。