问题描述
目标:
- 使用monorepo结构,在该结构中,我可以跨不同的有界上下文共享域模型和通用实现(使用提供者模式)
- 能够独立于其他有界上下文或客户端应用程序进行部署(因此,所有这些都不能放在一个
src
目录下的整体中。
背景:对我而言,典型的技术堆栈是Angular + .Net Core。我开始远离Angular,并且开始探索如果我使用nestjs开发API,那么代码共享的好处。
我正在尝试找出在客户端和API之间设置共享代码并遇到一些问题的最佳方法。
我具有以下目录结构。我想找出共享domain/models/comestibles
和api/comestibles
应用程序中web
中的模型的最佳方法。我也可以将所有共享代码都放在packages
文件夹中(正在查看Lerna)
我可以轻松地将代码从api/comestibles
指向目录,但这使dist
文件夹结构不受欢迎,并且也弄乱了东西(例如Swagger)。我还从{p>更改了outDir
中的tsconfig.json
"outDir": "./dist"
到
"outDir": "./dist/api/comestibles/src"
这确实破坏了应用程序中的其他内容,因为目录结构确实发生了变化。
我查看了设置Bit的过程,已经跟踪了一些文件,但是没有看到为这些文件创建的任何软件包。也许我虽然使用不正确。我也在为此寻找Lerna。鉴于这是我第一次通过脚本编写全栈应用程序,因此我不熟悉该解决方案的最佳体系结构。
解决方法
Nx.dev插件解决了我的问题。