31

tsc有没有办法从 TypeScript编译器中消除 TS2307 错误?

由于我们的代码库中有许多TS2307 错误,因此很难发现真正的/新的错误和警告。

更新

当外部模块在import其类型定义.d.ts不存在的情况下被编辑时,会发生此错误。

我知道,tsd但对于我们使用的许多库,不存在类型定义。

4

3 回答 3

26

从 TypeScript 2.6(2017 年 10 月 31 日发布)开始,现在有一种方法可以使用目标行之前的注释来忽略特定行中的所有错误。// @ts-ignore

提到的文档足够简洁,但要回顾一下:

// @ts-ignore
const s : string = false

禁用此行的错误报告。

(x as any)但是,只有在修复错误或使用 hack比丢失所有类型检查更麻烦时,才应将其用作最后的手段。

至于指定某些错误,这里讨论了当前(2018 年中)状态,在 Design Meeting Notes (2/16/2018) 和进一步评论中,基本上是

“还没有定论”

并强烈反对引入这种微调。

于 2018-08-11T07:55:37.267 回答
13

更新

这在较新版本的 TypeScript 中是可能的。请参阅stsloth答案

原始答案

不,没有办法指示编译器抑制 TS2307。出于您所描述的原因,已经对此进行了一些讨论。对于大型项目,这成为进入的巨大障碍。

此处的详细信息:使 JavaScript 到 TypeScript 迁移更容易:抑制错误

在这里:找到一种方法来抑制导入模块产生的错误

您可以做的是在构建过程中添加一个过滤错误消息的步骤。当然,这取决于您如何进行构建。

于 2016-01-19T18:45:24.183 回答
3

你可能会觉得tsc-silent有用。虽然,忽略错误您必须小心并记住错误代码会更改,有时在伞形错误下会报告许多不同的问题。

于 2019-04-21T20:48:30.377 回答