仅在 node_modules 中跳过库检查

Posted

技术标签:

【中文标题】仅在 node_modules 中跳过库检查【英文标题】:skip library check only in node_modules 【发布时间】:2018-10-03 18:51:57 【问题描述】:

关于在错误输入的node_modules(例如this one 或this one)中禁用错误​​有几个问题,但它们都涉及使用skipLibCheck 编译器标志。

是否有其他解决方案(例如,使用includeexclude)?我有几个手写的.d.ts 文件(比DefiniteTyped 上可用的类型更严格),我想对其进行类型检查,因此对这些文件全面禁用类型检查并不吸引人。

【问题讨论】:

哇,你甚至不厌其烦地用更严格的类型来增强现有的库!也许考虑也修改那些类型错误的? Titian 显示源代码,所以他可能是对的。也许考虑替代解决方案,如this 有一个打开的issue 有一个功能请求。 【参考方案1】:

没有对类型检查的精细控制,不幸的是,您要么检查所有声明文件,要么不检查。来自编译器代码:

export function skipTypeChecking(sourceFile: SourceFile, options: CompilerOptions) 
    // If skipLibCheck is enabled, skip reporting errors if file is a declaration file.
    // If skipDefaultLibCheck is enabled, skip reporting errors if file contains a
    // '/// <reference no-default-lib="true"/>' directive.
    return options.skipLibCheck && sourceFile.isDeclarationFile || options.skipDefaultLibCheck && sourceFile.hasNoDefaultLib;

【讨论】:

以上是关于仅在 node_modules 中跳过库检查的主要内容,如果未能解决你的问题,请参考以下文章

在播放中跳过静音 - 优化值

如何在函数调用中跳过可选参数?

为啥 .setValue() 在 for 循环中跳过列?

如何从mysql中的表中跳过行

在假设中跳过伪造的例子

在 apache 梁管道 Python 中跳过步骤