文件夹内的特定 tsconfig.json 规则



如何在 Typescript 项目中使用内部config.json

为清楚起见:

我有一个根/config.json如下:

{
"compilerOptions": {
"module": "commonjs",
"target": "es2017",
"inlineSourceMap": true,
"outDir": "./app/",
"lib": [
"es6"
],
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"moduleResolution": "node",
"baseUrl": "./",
"noImplicitAny": true,
"skipLibCheck": true, 
"paths": {
"*": [
"types/*"
]
}
},
"include": [
"./src/**/*.ts"
]
}

我想对以下内容进行/innerFolder/config.json

{
"extends": "../tsconfig.json",
"compilerOptions": {
"noImplicitReturns": true,
"noUnusedParameters": true,
"noUnusedLocals": true,
"strictNullChecks": true,
}
}

我这样做是因为我想对团队的代码进行重构,但它很大,我不想一次更改我的所有文件。

我想逐个文件夹地执行此操作,并使用更改"锁定"文件夹。

根据文档,编译器查找父tsconfig.json,但不会查找特定tsconfig.json

有没有办法做到这一点?

TypeScript 2.1 添加了配置继承,现在应该按照您使用它的方式工作。

在单个项目中,无法将不同的编译器选项应用于不同的文件。 如果文件夹遵循简单的依赖项结构,则可以将多个项目与项目引用一起使用。 否则,您可以编写一个脚本,该脚本在整个项目上运行两次tsc(一次使用更严格的选项,一次使用更宽松的选项(,并将第一次运行innerFolder的错误和第二次运行在所有其他文件上的错误组合在一起;请参阅此答案以获取有关如何按文件名过滤错误的一些灵感。 这对您的 IDE 没有帮助;在那里,您可能只需要使用较宽松的选项。

一旦我只需要严格检查的规则,我就可以使用tslint来实现它。

extendstslint做我所需要的,它会下降,覆盖内部目录中的规则。

使用以下内容就足够了:

tsc -p tsconfig.test.json

并设置您的"测试"脚本以调用 tsc 的用法

另请参阅: 如何仅为构建排除打字稿中的特定文件?

最新更新