如何在TypeScript中为单个文件单独启用strict严格模式?
可以实现,有两种常用方案,分别适合逐文件手动添加和批量匹配的场景:
方案1:单文件顶部添加编译指令(适合零散逐个启用)
直接在需要开启严格模式的.ts/.tsx文件的第一行添加注释:// @ts-strict
该指令优先级高于全局tsconfig.json的配置,添加后当前文件会完整启用strict模式包含的所有校验规则(包含strictNullChecks、noImplicitAny、strictFunctionTypes等),不受全局strict: false的影响。
方案2:通过tsconfig的overrides配置批量启用(适合按目录/文件规则统一配置)
如果你需要给某一类符合规则的文件统一开启严格模式,不需要逐个加注释,可以在tsconfig.json中添加overrides字段实现针对性配置,示例如下:
{ "compilerOptions": { "strict": false, // 保留你原有的其他配置 }, "overrides": [ { // 此处填写需要开启strict的文件匹配规则,支持glob通配符 "files": ["src/already-fixed/**/*.ts", "src/**/*.strict.ts"], "compilerOptions": { "strict": true // 也可以单独开启strict下的某几项规则,比如只开strictNullChecks的话就只写这一行 } } ] }
注意事项
- 单文件的
@ts-strict指令优先级高于overrides配置,两者同时存在时以文件内的注释为准 @ts-strict指令需要TypeScript 3.8及以上版本支持,如果你的项目TS版本过低,建议先升级版本,或仅使用overrides方案
内容的提问来源于stack exchange,提问作者HelloWorld
相关产品推荐
相关产品推荐

