我正在使用Visual Studio Code,并且具有相当普通的项目结构:
├── client/
│ ├── tsconfig.json
├── shared/
├── server/
│ ├── tsconfig.json
├── project.json
这两个tsconfig文件具有不同的设置(例如
client/
目标ES5下的一个,server/
目标ES6下的一个)。请注意,根目录中没有tsconfig。问题是我希望共享目录包含在两个项目中。我无法使用tsconfig来执行此操作,因为
exclude
选项不允许我在比tsconfig.json更高的目录中包含一个文件夹,而使用files
时,我必须不断使文件列表保持最新不支持glob。请注意,我可以通过将共享文件夹添加到tsc中来进行编译,我想要的是Visual Studio Code IDE能够识别智能感知等共享代码。
是等待filesGlob的唯一选择吗?
最佳答案
使用单个tsconfig.json
作为根。然后将其扩展到每个项目(backend tsconfig.server.json
,frontend tsconfig.webpack.json
)。
tsconfig.json
include: ['src']
以确保在IDE中对所有文件进行类型检查tsconfig.server.json
exclude: ['src/app']
前端文件tsconfig.webpack.json
exclude: ['src/server']
后端文件资料夹结构
├── src/
│ ├── app/ < Frontend
│ ├── server/ < Backend
│ ├── common/ < Shared
├── tsconfig.json
├── tsconfig.server.json
├── tsconfig.webpack.json
配置文件
tsconfig.json
{
"compilerOptions": {
"noImplicitAny": true,
"strictNullChecks": true
},
"include": [
"src"
]
}
tsconfig.webpack.json
{
"extends": "./tsconfig.json",
"exclude": [
"src/app"
]
}
tsconfig.server.json
{
"extends": "./tsconfig.json",
"exclude": [
"src/server"
]
}
更多
Example lesson
关于typescript - 如何在vs代码中使用多个tsconfig文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37579969/