// @ts-ignore
注释使 TypeScript 编译器能够忽略其下面的行。
如何使用 TypeScript 忽略一整段代码?
你不能。
作为解决方法,您可以在文件顶部使用
// @ts-nocheck
注释来禁用该文件的类型检查:https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/
因此,要禁用对块(函数、类等)的检查,您可以将其移动到自己的文件中,然后使用上面的注释/标志。 (当然,这不像基于块的禁用那么灵活,但它是目前可用的最佳选择。)
你不能。这是 TypeScript 中的一个开放问题。
有
// @ts-nocheck
它可以添加在文件的开头,其中的所有错误都将被忽略,这不是您正在寻找的块特定答案,但在某些情况下它是等效的。
https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/#ts-nocheck-in-typescript-files
您可以使用
// @ts-expect-error
来抑制一行上的错误,并且您可以对多行执行此操作,有点麻烦,但这是您现在可以获得的最接近的东西
但是等等
如果在没有错误的行上使用
// @ts-expect-error
,则会导致错误Unused '@ts-expect-error' directive.
这实际上很棒,因为它会告诉您您的类型何时正确,何时不正确
因此请确保仅在存在类型错误的行上使用它
这会忽略下一行并且仅忽略下一行。
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
位于文件顶部。
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-nocheck
不推荐,但如果您必须禁用整个文件的类型检查,这可以解决问题。
如果您的目标是仅在声明输出中忽略某些方法或属性,您可以使用 内部注释 来做到这一点。
将其留在这里,因为这篇文章是顶部搜索结果,我在寻找一种忽略声明输出中的内容的方法时遇到了。
令人惊讶的是,这一点还没有被提及,但您可以将几乎任何类型转换为未知类型,然后转换为其预期类型。例如,我刚刚将这一行添加到我的代码中:
return <Route path={ path } Component={ (() => authPage) as unknown as ComponentType } />;
};
如果您使用 prettier,则可以添加
//prettier-ignore
,因为代码足够小,以至于 prettier 变成了不止一行
如果不需要类型安全,只需将 block 带到一个新的分离文件中并将扩展名更改为 .js,.jsx