Typescript NodeJs 解决方案拆分成多个项目

时间:2021-03-08 11:53:26

标签: node.js typescript architecture projects-and-solutions

我想开发一个分成 3 个子项目的 typescript nodejs 解决方案,就像一个分成多个库的 csharp 解决方案。

我希望他们每个人都有自己的 pacakge.json

  • 用户界面项目
    package.json

  • 基础设施
    package.json


  • package.json

显然,我想从一个项目引用另一个,例如ui可以引用infrastructure项目

package.json 中,我发现使用语法 file: 引用另一个包:

"dependencies": {
    "infrastrucure": "file:../infrastructure"
  },

我发现的主要缺点:

  • 在运行 ui 之前编译依赖项目
  • eslint 显示警告
<块引用>

无法读取 <solution root>\tsconfig.json 上的文件

我想知道的是:

  1. 这是将解决方案拆分为多个项目的正确方法,还是有更多未被考虑的缺点?
  2. 为什么 eslint 会在根文件夹中查找 tsconfig.json?

2 个答案:

答案 0 :(得分:1)

lernayarn workspaces 可以帮助您按照您描述的方式管理多项目存储库。我不确定如何在不了解 eslint 设置的情况下修复您的错误,但可能值得研究这些解决方案,而不是尝试自己设置所有内容。

答案 1 :(得分:1)

经过一番研究,我发现了 Rush Microsoft 的 monorepos 工具。
这个工具(对我来说)最类似于 .sln 之类的 Visual Studio 并使用 pnpm,这是我已经使用的包管理器。