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

给你一囗甜甜゛ 提交于 2019-12-01 17:24:40

问题


I'm working on a project structured like this:

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

My tsconfig.json on the root

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

I need a different configuration on the perf folder, like a different target.

"target": "es5",

However, my typings folder is on the root of my project, not inside perf folder. So doing a tsc ./perf results in a lot of errors.

Is there a way to tell TypeScript where to look for typings? I'm using

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

Or a way to have different configurations depending on the folder?


回答1:


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

Quickest solution

Move typings into pref.

Long term solution

Use filesGlob once it is supported in tsc : https://github.com/Microsoft/TypeScript/issues/1927




回答2:


you can do this by extending your base tsconfig.json file:

tsconfig extension

just do not exclude directories in the base tsconfig.json and typescript should be able to resolve your typings for you (know this is true using node_modules/@types, or the typings module)

For example:

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
   }
}


来源:https://stackoverflow.com/questions/33618741/how-to-handle-a-project-with-multiple-tsconfig-json-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!