能否通过tsconfig.json为项目子集设置更严格的编译规则?
实现部分文件子集的严格编译规则
完全可以实现,最清晰的方式是利用TypeScript的配置文件继承机制,给需要严格检查的文件子集单独创建配置文件:
步骤1:创建子配置文件
假设你要启用noImplicitAny: true的文件都放在src/strict/目录下,在该目录中新建tsconfig.json,内容如下:
{ "extends": "../../tsconfig.json", "compilerOptions": { "noImplicitAny": true }, "include": ["./**/*"] }
extends字段会继承根目录的基础配置,避免重复编写相同的编译选项- 在
compilerOptions中单独开启noImplicitAny: true,覆盖根配置的对应规则 include指定该配置只作用于当前目录下的所有文件
步骤2:编译指定子集
编译时通过--project(简写-p)参数指定子配置文件,即可单独检查这部分文件:
tsc -p src/strict/tsconfig.json
额外提示
你的根目录tsconfig.json中有一个顶层的"lib": ["ES2021"]字段,这是无效的——TypeScript只会读取compilerOptions内的lib配置,建议删除这个顶层字段,避免配置混淆。
内容的提问来源于stack exchange,提问作者yigal
相关产品推荐
相关产品推荐

