完整性
skipDefaultLibCheck
- 发布版本: 1.6
改用 skipLibCheck。跳过对默认库声明文件的类型检查。
skipLibCheck 推荐
- 发布版本: 2.0
跳过对声明文件的类型检查。
这可以节省编译时间,但会牺牲类型系统的准确性。例如,两个库可能以不一致的方式定义同一 type 的两个副本。TypeScript 不会对所有 d.ts 文件进行全面检查,而是只对你应用源代码中具体引用的代码进行类型检查。
你可能考虑使用 skipLibCheck 的常见情况是,当你的 node_modules 中存在某个库的类型定义的两个副本时。在这些情况下,你应该考虑使用像 yarn 的 resolutions 这样的功能,以确保依赖树中只有该依赖项的一个副本,或者通过了解依赖解析来确保只有一个副本,从而在不借助额外工具的情况下解决问题。
另一种情况是当你在 TypeScript 版本之间迁移时,更改导致 node_modules 和 JS 标准库中出现问题,而你在 TypeScript 更新期间不想处理这些问题。
请注意,如果这些问题来自 TypeScript 标准库,你可以使用 TypeScript 4.5 的 lib 替换技术来替换该库。