我有一个PlayersModule
和一个ItemsModule
。
我想用ItemsService
的PlayersService
。
当我通过注射添加时:
import { Injectable } from '@nestjs/common';
import { InjectModel } from 'nestjs-typegoose';
import { ModelType, Ref } from 'typegoose';
import { Player } from './player.model';
import { Item } from '../items/item.model';
import { ItemsService } from '../items/items.service';
@Injectable()
export class PlayersService {
constructor(
@InjectModel(Player) private readonly playerModel: ModelType<Player>,
private readonly itemsService: ItemsService){}
我得到这个嵌套错误:
[嵌套] 11592-2018-8-13 11:42:17 [ExceptionHandler]
Nest无法解析PlayersService(+,?)的依赖项。请确保索引[1]的参数在当前上下文中可用。
这两个模块均导入app.module.ts
。两种服务都在其模块中单独工作。
你要 导出 的ItemsService
是它提供的模块:
@Module({
controllers: [ItemsController],
providers: [ItemsService],
exports: [ItemsService]
^^^^^^^^^^^^^^^^^^^^^^^
})
export class ItemsModule {}
然后将导出 模块 导入使用该服务的模块中:
@Module({
controllers: [PlayersController],
providers: [PlayersService],
imports: [ItemsModule]
^^^^^^^^^^^^^^^^^^^^^^
})
export class PlayersModule {}
Do️不要将同一提供程序添加到多个模块中。导出提供程序,导入模块。⚠️
我有以下3个模块在我的Spring启动应用程序: web(入口点/主应用程序类,用 坚持 服务 我现在正试图在模块中注入一个来自的服务。在这个服务中,我注入了来自模块的存储库。启动应用程序时,会出现以下错误: ImageService类: class: 这就是我在模块中将服务注入到我的类中的方式: 所以我在网上搜索,看到一些人有类似的问题。然后我得到了一个提示,我应该在我的应用程序类中将scanB
问题内容: 我有一个单独模块的工厂,我想将其注入模块的提供程序中,但是却不断收到未知的提供程序错误。我究竟做错了什么? 我想注入的是: 我试图注入的地方: 导致 问题答案: 我认为是因为所有提供程序都在工厂之前实例化,因此提供程序仅需依赖其他提供程序。 作为一种解决方法,我正在使用创建模块的方法。一个可以完成您想完成的任务的插件:http ://plnkr.co/edit/g1M7BIKJkjSx
问题内容: 是否可以在angularJS中将一个服务注入到另一个服务中? 问题答案: 是。遵循angularjs中的常规注入规则。 感谢@simon。最好使用数组注入以避免最小化问题。
问题内容: 假设我有一个名为的软件包,其中包含: 和: 然后我执行以下脚本: 这是我的期望: 这是我得到的: 谁能解释我的误解? 问题答案: 您正在使用。在导入模块的全局范围(或发生import语句的任何范围)中成为符号。 当您为指定新值时,您也只是在更改哪些值点,而不是实际值。尝试直接使用in导入,并通过设置在那里进行实验。这样,您实际上将在此上下文中修改哪个是“实际”值。 它有点令人费解,
问题内容: 在我的NestJS应用程序中- 我有TypeScript类,这些类中已经注入了其他类和值。唯一的是,我要导入带有语句的TypeScript类,并使用DI系统注入它们。有什么方法可以删除导入语句并让DI系统处理它? 问题答案: TL; DR ->类参考 DI->类实例化 可以通过字符串标记进行匹配,但最好使用类引用。 封装形式 依赖项注入系统主要处理类的实例化。这很好,因为您不必关心要注
如图,我将framework中的ResponseResult引入到blog中,然后在maven install命令下报错。 blog依赖了framework。是不是因为我两个模块的java下的包名一样导致的,如果是的话,该怎么改呢?