如何处理具有多个tsconfig.json文件的项目?

Bru*_*oLM 5 typescript tsconfig

我正在开发一个像这样结构的项目:

\
|- built
|- src
|- perf
   |- tsconfig.json
|- typings
|- tsconfig.json
Run Code Online (Sandbox Code Playgroud)

tsconfig.json的根源

"target": "es6",
"outDir": "built",
"rootDir": "./src",
Run Code Online (Sandbox Code Playgroud)

我需要在perf文件夹上使用不同的配置,例如不同的目标.

"target": "es5",
Run Code Online (Sandbox Code Playgroud)

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

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

npm install -g typescript@next
// typescript@1.8.0-dev.20151109
Run Code Online (Sandbox Code Playgroud)

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

wea*_*e08 7

你可以通过扩展你的基本tsconfig.json文件来做到这一点:

tsconfig扩展名

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

例如:

CONFIGS/base.json:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true
  }
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json:

{
  "extends": "./configs/base",
  "files": [
    "main.ts",
    "supplemental.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.nostrictnull.json:

{
   "extends": "./tsconfig",
   "compilerOptions": {
     "strictNullChecks": false
   }
}
Run Code Online (Sandbox Code Playgroud)


bas*_*rat 1

有没有办法告诉 TypeScript 在哪里寻找类型

最快的解决方案

移至typings首选。

长期解决方案

filesGlob一旦支持即可使用tsc: https: //github.com/Microsoft/TypeScript/issues/1927