Node.js 依赖注入-INestApplication上的app.get(UploadService)不';无法解决其依赖关系
我正在尝试创建使用嵌套上下文的外部CLI。我已经创建了入口点,它使用NestFactory.create创建应用程序。使用app.get访问服务后,该服务存在并自行工作。问题是,它没有解决任何依赖关系。在文档上没有任何例子,我也没有在互联网上找到任何与这个问题相关的东西 2019年7月17日,我正在节点10上使用最新版本的Nest.js 梅因酒店Node.js 依赖注入-INestApplication上的app.get(UploadService)不';无法解决其依赖关系,node.js,dependency-injection,nestjs,Node.js,Dependency Injection,Nestjs,我正在尝试创建使用嵌套上下文的外部CLI。我已经创建了入口点,它使用NestFactory.create创建应用程序。使用app.get访问服务后,该服务存在并自行工作。问题是,它没有解决任何依赖关系。在文档上没有任何例子,我也没有在互联网上找到任何与这个问题相关的东西 2019年7月17日,我正在节点10上使用最新版本的Nest.js 梅因酒店 import { NestFactory } from '@nestjs/core'; import { AppModule } from '../
import { NestFactory } from '@nestjs/core';
import { AppModule } from '../app.module';
import { UploadService } from 'src/api/upload/upload.service';
import { UploadModule } from 'src/api/upload/upload.module';
async function bootstrap(): Promise<void> {
const app = await NestFactory.create(AppModule);
await app.init();
const service: UploadService = app.select(UploadModule).get(UploadService);
console.log(service); // OK - returns UploadService instance
console.log(service.uploadModel); // X - returns `undefined`
console.log(service.configService); // X - returns `undefined`
}
bootstrap();
upload.service.ts
import { Injectable } from '@nestjs/common';
import { AwsService } from '../../services/aws/aws.service';
import { Upload } from './upload.schema';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
@Injectable()
export class UploadService {
constructor(
@InjectModel('Upload')
readonly uploadModel: Model<Upload>,
readonly awsService: AwsService,
) {}
}
是模型/服务实例。不幸的是,它们都返回未定义的
,因为依赖项注入不起作用
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { AwsModule } from '../../services/aws/aws.module';
import { UploadService } from './upload.service';
import { UploadSchema } from './upload.schema';
@Module({
imports: [MongooseModule.forFeature([{ name: 'Upload', schema: UploadSchema }]), AwsModule],
providers: [UploadService],
exports: [UploadService],
})
export class UploadModule {}
import { Injectable } from '@nestjs/common';
import { AwsService } from '../../services/aws/aws.service';
import { Upload } from './upload.schema';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
@Injectable()
export class UploadService {
constructor(
@InjectModel('Upload')
readonly uploadModel: Model<Upload>,
readonly awsService: AwsService,
) {}
}
console.log(service.uploadModel); // X - returns `undefined`
console.log(service.configService); // X - returns `undefined`