// @ts-ignore注释使TypeScript编译器可以忽略它下面的行。

你怎么能用TypeScript忽略一整块代码呢?


你不能。这在TypeScript中是一个悬而未决的问题。


你不能。

作为一种解决方法,您可以在文件顶部使用// @ts-nocheck注释来禁用该文件的类型检查:https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/

因此,要禁用对一个块(函数、类等)的检查,可以将它移动到它自己的文件中,然后使用上面的注释/标记。(当然,这并不像基于块的禁用那样灵活,但这是目前可用的最佳选择。)


如果你不需要类型安全,只需要将block带到一个新的分离文件中,并将扩展名更改为.js,.jsx


// @ts-nocheck

它可以添加在文件的开头,其中的所有错误都将被忽略,这不是你正在寻找的块特定的答案,但在某些情况下是等效的。

https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/#ts-nocheck-in-typescript-files


您可以使用// @ts-expect-error来抑制一行上的错误,也可以用于多行,这有点麻烦,但这是目前您可以得到的最接近的东西

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html#-ts-expect-error-comments

但是等等

如果你在没有错误的行上使用// @ts-expect-error,它将导致错误未使用的'@ts-expect-error'指令。

所以请确保只在有类型错误的行上使用它


如果你使用的是prettier,你可以添加//prettier-ignore,用于那些足够小的代码,这样就可以把prettier转换成多行


你可以在Files文件的顶部使用//@ts-nocheck

参考: 忽略typescript文件中的所有错误


只使用

// @ts-ignore-start
     typescript is ...
// @ts-ignore-end

如果您的目标是只忽略声明输出中的某些方法或属性,则可以使用内部注释来实现这一点。

把这个留在这里,因为这篇文章是最热门的搜索结果,我在寻找一种方法来忽略声明输出中的东西时遇到的。


这将忽略下一行,并且只忽略下一行。

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore