如何对块使用“@ts-ignore”?

How to use `@ts-ignore` for a block?

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

如何使用 TypeScript 忽略一整段代码?

你不能。这是一个 open issue in TypeScript.

你不能。

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

因此,要禁用对块(函数、class 等)的检查,您可以将其移动到自己的文件中,然后使用上面的 comment/flag。 (当然,这不如基于块的禁用灵活,但这是目前可用的最佳选择。)

如果您不需要类型安全,只需将块带到一个新的分隔文件并将扩展名更改为 .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,会导致错误Unused '@ts-expect-error' directive.

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

如果您使用的是 prettier,您可以添加 //prettier-ignore 代码足够小以至于 prettier 变成不止一行

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

参考: Ignore all errors in a typescript file

就用

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

如果您的目标是忽略某些方法或 属性 仅在声明输出中,您可以使用 the internal annotation 来做到这一点。

把它留在这里是因为这个 post 是最热门的搜索结果,我在寻找一种方法来忽略声明输出中的内容时遇到了。