从 NestFactory 获取的对象具有未定义的所有内部依赖项 - NestJS
Object gotten from the NestFactory has all the internal dependencies as undefined - NestJS
我从 NestFactory 获取了一个对象,然后我调用了一个函数。在服务 class 中注入了另一个 class。服务中的所有依赖项都无法访问。
const FASTIFY = new FastifyAdapter();
const app = await NestFactory.create<NestFastifyApplication>(AppModule, FASTIFY, {
bufferLogs: true, // do wait till LoggerService is available
});
const service = app.get<ServiceClass>(ServiceClass); // service object is obtained from container
console.log(service.anotherRepository); // repository and injected objects are undefined.
服务对象是从容器中获取的,然后我可以看到代码进入服务 class 但是服务中定义的所有依赖项 class 都是未定义的。
我已经将它们的范围都设置为 DEFAULT。
@Injectable({ scope: Scope.DEFAULT })
即使 类 是用 scope: Scope.REQUEST
创建的。您仍然可以使用
获取对象
const serviceClass = await app.resolve<ServiceClass>(ServiceClass);
这已在较新版本中修复。
我从 NestFactory 获取了一个对象,然后我调用了一个函数。在服务 class 中注入了另一个 class。服务中的所有依赖项都无法访问。
const FASTIFY = new FastifyAdapter();
const app = await NestFactory.create<NestFastifyApplication>(AppModule, FASTIFY, {
bufferLogs: true, // do wait till LoggerService is available
});
const service = app.get<ServiceClass>(ServiceClass); // service object is obtained from container
console.log(service.anotherRepository); // repository and injected objects are undefined.
服务对象是从容器中获取的,然后我可以看到代码进入服务 class 但是服务中定义的所有依赖项 class 都是未定义的。
我已经将它们的范围都设置为 DEFAULT。
@Injectable({ scope: Scope.DEFAULT })
即使 类 是用 scope: Scope.REQUEST
创建的。您仍然可以使用
const serviceClass = await app.resolve<ServiceClass>(ServiceClass);
这已在较新版本中修复。