当前位置: 首页 > news >正文

nestjs目录命名导致的循环引用

具体报错如下:

[Nest] 2024  - 2024/09/02 22:57:02   ERROR [ExceptionHandler] A circular dependency has been detected inside ApplicationModule. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.
Error: A circular dependency has been detected inside ApplicationModule. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.

复现方式:尽管U8AppService全是空方法仍然会出现循环引用的报错

import { App } from "@/entities/app.entity";
import { TypeOrmModule } from "@hg/born-typeorm";
import { Module, Injectable } from "@hg/born/common";
import { ApplicationController } from "./controller";
import { U8AppService } from "./Service";@Module({imports: [TypeOrmModule.forFeature([App])],controllers: [ApplicationController],providers: [U8AppService],exports: [U8AppService],
})
export class ApplicationModule { }

修改方法:将目录名从Service改为base就正常了


import { App } from "@/entities/app.entity";
import { TypeOrmModule } from "@hg/born-typeorm";
import { Module, Injectable } from "@hg/born/common";
import { ApplicationController } from "./controller";
import { U8AppService } from "./base";@Module({imports: [TypeOrmModule.forFeature([App])],controllers: [ApplicationController],providers: [U8AppService],exports: [U8AppService],
})
export class ApplicationModule { }

猜测nestjs在进行目录解析的时候进行了一些独特的处理 导致有的命名无法正常解析

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2024嵌入式面试:比亚迪嵌入式面试题及参考答案(BYD面试)
  • 数据安全与个人信息保护的辨析
  • 数据结构---五大排序---哈希表---二分查找法
  • 9,sql 约束
  • 面试题总结(一) -- 基础语法篇
  • 自动化工程案例01:8工位插针装配机01
  • Guitar Pro v8.1最新图文安装教程
  • 73.给定一个 m x n 的矩阵,实现一个算法如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法
  • LeetCode: 551. 学生出勤记录 I
  • 【JavaScript】jQuery的使用
  • 【区块链 + 物联网】长虹智能家居跨平台互联方案 | FISCO BCOS应用案例
  • 安装 rocky9.4
  • PADS提示subnet #1 of gnd 20240902
  • js控制滚轮横向滚动
  • STM32——看门狗(独立/窗口)
  • Angular 4.x 动态创建组件
  • Angular Elements 及其运作原理
  • avalon2.2的VM生成过程
  • CentOS7 安装JDK
  • github指令
  • JavaScript学习总结——原型
  • java小心机(3)| 浅析finalize()
  • Java应用性能调优
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • PHP 7 修改了什么呢 -- 2
  • Promise面试题2实现异步串行执行
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Vue 重置组件到初始状态
  • Vue--数据传输
  • 你不可错过的前端面试题(一)
  • 前端临床手札——文件上传
  • 使用API自动生成工具优化前端工作流
  • 使用putty远程连接linux
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 想写好前端,先练好内功
  • 用jquery写贪吃蛇
  • Spring Batch JSON 支持
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 整理一些计算机基础知识!
  • ​ubuntu下安装kvm虚拟机
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • (13)DroneCAN 适配器节点(一)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (推荐)叮当——中文语音对话机器人
  • (一)基于IDEA的JAVA基础12
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .net 使用ajax控件后如何调用前端脚本
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!