如何处理包含多个 tsconfig.json 个文件的项目?

How to handle a project with multiple tsconfig.json files?

我正在做一个结构如下的项目:

\
|- built
|- src
|- perf
   |- tsconfig.json
|- typings
|- tsconfig.json

我的tsconfig.json在根

"target": "es6",
"outDir": "built",
"rootDir": "./src",

我需要对 perf 文件夹进行不同的配置,例如不同的目标。

"target": "es5",

但是,我的 typings 文件夹位于项目的根目录下,而不是 perf 文件夹内。所以做 tsc ./perf 会导致很多错误。

有没有办法告诉 TypeScript 在哪里寻找 typings?我正在使用

npm install -g typescript@next
// typescript@1.8.0-dev.20151109

或者根据文件夹进行不同配置的方法?

Is there a way to tell TypeScript where to look for typings

最快的解决方案

typings 移至首选项

长期解决方案

一旦 tsc 支持,请使用 filesGlobhttps://github.com/Microsoft/TypeScript/issues/1927

您可以通过扩展基础 tsconfig.json 文件来做到这一点:

tsconfig extension

只是不要排除基础 tsconfig.json 中的目录,打字稿应该能够为您解析您的打字(使用 node_modules/@types 或打字模块知道这是真的)

例如:

configs/base.json:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true
  }
}

tsconfig.json:

{
  "extends": "./configs/base",
  "files": [
    "main.ts",
    "supplemental.ts"
  ]
}

tsconfig.nostrictnull.json:

{
   "extends": "./tsconfig",
   "compilerOptions": {
     "strictNullChecks": false
   }
}