Mute/ignore 来自 TypeScript tsc 的 TS2307 错误
Mute/ignore TS2307 error from TypeScript tsc
有没有办法消除来自 TypeScript tsc
编译器的 TS2307 错误?
很难发现 real/new 错误和警告,因为我们的代码库中有 许多 TS2307 错误。
更新:
当外部模块在其类型定义 .d.ts
不存在的情况下 import
ed 时会发生此错误。
我知道 tsd
但对于我们使用的 许多 库,不存在类型定义。
更新
这在较新版本的 TypeScript 中是可能的。参见 from stsloth。
原始答案
不,没有办法让编译器抑制 TS2307。正是出于您描述的原因,对此进行了一些讨论。对于大型项目,这成为一个巨大的进入壁垒。
详情在这里:Making JavaScript to TypeScript migration easier : Suppress errors
这里:Find a way to suppress the errors generated by importing modules
您可以做的是在构建过程中添加一个过滤错误消息的步骤。当然,这取决于您的构建方式。
自 TypeScript 2.6(2017 年 10 月 31 日发布)起,现在 a way to ignore all errors from a specific line 在目标行前使用 // @ts-ignore
注释。
The mentioned documentation 已经够简洁了,但要回顾一下:
// @ts-ignore
const s : string = false
禁用此行的错误报告。
但是,只有在修复错误或使用像 (x as any)
这样的 hack 比丢失一行的所有类型检查要麻烦得多时,才应将其用作最后的手段。
至于指定某些错误,讨论了当前(2018 年年中)状态 here, in Design Meeting Notes (2/16/2018) and further comments,基本上是
"no conclusion yet"
并强烈反对引入这种微调。
您可能会发现 tsc-silent
useful. Although, ignoring errors you have to be careful 并记住错误代码会发生变化,有时会在总括错误下报告许多不同的问题。
有没有办法消除来自 TypeScript tsc
编译器的 TS2307 错误?
很难发现 real/new 错误和警告,因为我们的代码库中有 许多 TS2307 错误。
更新:
当外部模块在其类型定义 .d.ts
不存在的情况下 import
ed 时会发生此错误。
我知道 tsd
但对于我们使用的 许多 库,不存在类型定义。
更新
这在较新版本的 TypeScript 中是可能的。参见
原始答案
不,没有办法让编译器抑制 TS2307。正是出于您描述的原因,对此进行了一些讨论。对于大型项目,这成为一个巨大的进入壁垒。
详情在这里:Making JavaScript to TypeScript migration easier : Suppress errors
这里:Find a way to suppress the errors generated by importing modules
您可以做的是在构建过程中添加一个过滤错误消息的步骤。当然,这取决于您的构建方式。
自 TypeScript 2.6(2017 年 10 月 31 日发布)起,现在 a way to ignore all errors from a specific line 在目标行前使用 // @ts-ignore
注释。
The mentioned documentation 已经够简洁了,但要回顾一下:
// @ts-ignore
const s : string = false
禁用此行的错误报告。
但是,只有在修复错误或使用像 (x as any)
这样的 hack 比丢失一行的所有类型检查要麻烦得多时,才应将其用作最后的手段。
至于指定某些错误,讨论了当前(2018 年年中)状态 here, in Design Meeting Notes (2/16/2018) and further comments,基本上是
"no conclusion yet"
并强烈反对引入这种微调。
您可能会发现 tsc-silent
useful. Although, ignoring errors you have to be careful 并记住错误代码会发生变化,有时会在总括错误下报告许多不同的问题。