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

【Nest.js】模块之间依赖关系,以及导出导入链的完整性

Nest.js 通常会自动判断模块之间的依赖关系,自动决定模块导入顺序,所以,通常不用担心模块导入顺序。

你只要写清楚模块依赖关系就可以,比如,A 依赖 B,则在 B 模块中 exports,在 A 模块中 imports,就可以了。

但是,要注意更复杂的关系,比如,A 依赖 B,B 又依赖 C,你要确保依赖链条的正确性。在这个例子中,不能在 A 中 import C,那样就破坏了依赖链条。

一个实际例子

我创建了一个 auth.module 模块,专门处理身份验证(JWT)。这个模块依赖系统的 JwtService。

然后在另一个模块 another.module,我需要使用 auth.module 模块中的服务,于是导入该服务。结果运行时报错,缺少 JwtService。于是在 another.module 中 import JwtService,错!

正确的做法是:导出 auth.module,在 another.module 中导入 auth.module,不需要单独导入 JwtService。

而且,必须去掉 JwtService 的导入,以为这个导入破坏了模块加载链条,导致 auth.module 中的配置在 another.module 中缺失!

http://www.dtcms.com/a/427030.html

相关文章:

  • MyBatis —— 多表操作和注解开发
  • 自动化脚本的自动化执行实践
  • 有颜二维码 1.0.5| 告别单调,一键生成有颜色的二维码
  • 信创浪潮下的国产组态软件——紫金桥RealSCADA
  • 做网站新闻移动动态网络规划设计师资料及视频教程
  • 机器学习之三大学习范式:监督学习、无监督学习、强化学习
  • 18002.机器人电机姿态控制
  • mysql语句基本操作之select查询
  • 做mp3链接的网站宁波专业seo外包
  • Spring Boot 集成 EHCache 缓存解决方案
  • Spring Boot 缓存与验证码生成
  • 进攻------绕后------互换野区
  • Unity 3D笔记(脚本部分)——《B站阿发你好》
  • C++之类的组合
  • 服装购物网站策划书wordpress菜单栏移动下移
  • 【第五章:计算机视觉-项目实战之生成对抗网络实战】1.对抗生成网络原理-(1)对抗生成网络算法基础知识:基本思想、GAN的基本架构、应用场景、标注格式
  • win10软实时设置
  • leetcode 812. 最大三角形面积 简单
  • 机器学习+数字孪生:从诊断到自主决策的跨越
  • 若依前后端分离版学习笔记(十八)——页面权限,页签缓存以及图标,字典,参数的使用
  • 莱芜网站建设哪家好在线logo制作生成免费
  • 哈尔滨网站建设价格网站设计怎么学
  • 再发《管理世界》!智能制造试点DID(2000-2023)
  • SpringCloudGateway:像快递分拣中心一样的API网关
  • 真家宽IP vs 数据中心IP:Cliproxy为何成为跨境电商首选?
  • 声光可调滤光器(AOTF):光谱相机的“电子调谐旋钮”
  • skynet-socket.lua源码分析
  • 悠然无界大模型BLM-1.0:跨空间、跨任务与跨本体泛化的里程碑
  • 安康那个公司做网站好wordpress主题滑动
  • 提升UI走查效率:开发阶段的布局与CSS技巧