让我们说我有一个NestJs项目,它由以下模块组成,每个模块都有自己的git存储库并部署在不同的计算机上:
两个模块都共享(库)模块#3。用于访问RabbitMq。假设#3模块是RabbitMq库的某种抽象,它定义了访问MQ的实体和服务,因此模块#1也是如此。和#2。甚至不知道,他们正在使用RabbitMq。计划将#3纳入/用作#1和#2的库,而不是作为微服务。
应如何将它们整合在一起? 让我们从API模块的角度进行假设: -它在node_modules文件夹中具有RabbitMq模块。 -我想使用RabbitMq模块中的依赖注入。理想情况下,将其公开为NestJs模块,以在API模块的@Module导入中使用。
我应该在RabbitMq模块中将NestJs用作peerDependency吗? 还是应该在RabbitMq模块中编写代码,以某种方式相对于父代= API模块的node_modules引用NestJs FW?
我有3-4个共享模块,我需要在模块#1和#2之间共享。不只是MQ。
还是应该完全避免在RabbitMq模块中使用NestJS? 感谢您的宝贵时间。
答案 0 :(得分:2)
您可以按照依赖关系,使用与NestJS相关的模块创建npm模块的方法。 John Biundo有a good article on dev.to关于创建NestJS模块并将其发布到npm的信息。
答案 1 :(得分:1)
可以使用nest js的工作空间概念。我认为 monorepo 模式将是一种无需制作 npm 模块等复杂性即可提供帮助的模式。