如何处理包含多个 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
支持,请使用 filesGlob
:https://github.com/Microsoft/TypeScript/issues/1927
您可以通过扩展基础 tsconfig.json 文件来做到这一点:
只是不要排除基础 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
}
}
我正在做一个结构如下的项目:
\
|- 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
支持,请使用 filesGlob
:https://github.com/Microsoft/TypeScript/issues/1927
您可以通过扩展基础 tsconfig.json 文件来做到这一点:
只是不要排除基础 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
}
}