Typescript NodeJs 解决方案拆分成多个项目
Typescript NodeJs solution split into multiple projects
我想开发一个分为 3 个子项目的 typescript nodejs 解决方案,就像一个分为多个库的 csharp 解决方案。
我希望他们每个人都有自己的pacakge.json
UI 项目
package.json
基础设施
package.json
域
package.json
很明显,我想从一个项目引用另一个,比如ui
可以引用infrastructure
项目
在 package.json
中,我发现使用语法 file:
:
引用另一个包
"dependencies": {
"infrastrucure": "file:../infrastructure"
},
我发现的主要缺点:
- 编译 运行 之前的依赖项目
ui
- eslint 显示警告
Cannot read file on <solution root>\tsconfig.json
我想知道的是:
- 这是将一个解决方案分成多个项目的正确做法还是有更多未考虑的弊端?
- 为什么 eslint 在根文件夹中查找 tsconfig.json?
lerna or yarn workspaces 可以帮助您按照您描述的方式管理多项目存储库。我不知道如何在不了解 eslint 设置的情况下解决您的错误,但可能值得研究这些解决方案,而不是尝试自己设置所有内容。
经过一些研究,我找到了 Rush Microsoft 的 monorepos 工具。
这个工具(对我来说)最类似于 visual studio 之类的 .sln,并使用 pnpm,我已经在使用的包管理器。
我想开发一个分为 3 个子项目的 typescript nodejs 解决方案,就像一个分为多个库的 csharp 解决方案。
我希望他们每个人都有自己的pacakge.json
UI 项目
package.json
基础设施
package.json
域
package.json
很明显,我想从一个项目引用另一个,比如ui
可以引用infrastructure
项目
在 package.json
中,我发现使用语法 file:
:
"dependencies": {
"infrastrucure": "file:../infrastructure"
},
我发现的主要缺点:
- 编译 运行 之前的依赖项目
ui
- eslint 显示警告
Cannot read file on
<solution root>\tsconfig.json
我想知道的是:
- 这是将一个解决方案分成多个项目的正确做法还是有更多未考虑的弊端?
- 为什么 eslint 在根文件夹中查找 tsconfig.json?
lerna or yarn workspaces 可以帮助您按照您描述的方式管理多项目存储库。我不知道如何在不了解 eslint 设置的情况下解决您的错误,但可能值得研究这些解决方案,而不是尝试自己设置所有内容。
经过一些研究,我找到了 Rush Microsoft 的 monorepos 工具。
这个工具(对我来说)最类似于 visual studio 之类的 .sln,并使用 pnpm,我已经在使用的包管理器。