如何使用多个 tsconfig 文件(编译器选项冲突)?
Posted
技术标签:
【中文标题】如何使用多个 tsconfig 文件(编译器选项冲突)?【英文标题】:how to use multiple tsconfig files (with conflicting compiler options)? 【发布时间】:2020-08-20 00:08:14 【问题描述】:我的代码库包含两个打字稿项目:
对于一个反应网络应用程序 适用于网络工作者网络工作者代码库是我的public/
文件夹的一部分。这意味着在同一个工作区中有两个打字稿项目。如何使用 vs-code 完成这项工作?
到目前为止,我的问题基本上是重复的:How to use multiple tsconfig files in vs-code?
接受的答案解释了如何设置基本配置然后对其进行扩展:
//tsconfig.worker.json:
"extends": "./tsconfig.json",
"exclude": [
"src/app"
]
但这在我的情况下不起作用。对于 worker.ts
,我需要与 react 应用程序不同的 lib
配置。
可以在我的tsconfig.worker.json
中覆盖该配置并使用新设置进行编译。但是对于自动补全和错误高亮,vs-code只使用tsconfig.json
,与webworker源码不兼容。
【问题讨论】:
【参考方案1】:在与项目相同的目录中为每个项目提供自己的tsconfig.json
,如下所示:
└── src
├── tsconfig.json
├── shared
│ ├── index.ts
│ └── tsconfig.json
├── backend
│ ├── index.ts
│ └── tsconfig.json
└── frontend
├── index.ts
└── tsconfig.json
将所有常用设置放在根tsconfig.json
中,将项目特定设置放在它自己的tsconfig.json
中。请勿将它们命名为 tsconfig.json
以外的任何名称。
每个项目的rootDir
设置将是./
,这意味着它们将很好地独立/封装。您可以使用 Project References、as described in this answer 启用和管理它们之间的依赖关系。
【讨论】:
以上是关于如何使用多个 tsconfig 文件(编译器选项冲突)?的主要内容,如果未能解决你的问题,请参考以下文章
将 typescript 错误连接到其关联的编译器选项 (tsconfig.json)