NestJS - 如何在 NestJS 应用程序之间共享模块

7
假设我有一个NestJs项目,它由以下部分组成,每个部分都有自己的git存储库并部署在不同的机器上:
  1. API服务
  2. 消息队列处理工作服务
这两个服务都需要第3部分——用于访问RabbitMq的库。假设#3是围绕RabbitMq客户端定义实体和服务的某种抽象概念,因此模块#1和#2甚至不知道它们正在使用RabbitMq。#3计划作为库包含/用于#1和#2中,而不是作为微服务。
如何将它们集成在一起?从API服务的角度来看:
  • 它在node_modules文件夹中有RabbitMq模块。
  • 我希望在该RabbitMq库中使用例如依赖注入。最理想的情况是将其公开为NestJs模块,以供API模块的@Module导入使用。
我应该在RabbitMq模块中使用NestJs作为peerDependency吗?
我有大约3-4个共享模块需要在模块#1和#2之间共享。不仅仅是MQ。
2个回答

3
你可以按照依赖项创建一个包含NestJS相关模块的npm模块。John Biundo在dev.to上撰写了一篇很好的文章,介绍了如何创建NestJS模块并将其发布到npm。

2
我一直在寻找这种类型的文章,非常感谢您;)。我认为这应该成为文档的一部分,我相信这是每个大型应用程序都需要解决的基本问题。 - ooouuiii

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接