【发布时间】:2018-12-11 05:07:06
【问题描述】:
// @ts-ignore 注释使 TypeScript 编译器可以忽略它下面的行。
如何使用 TypeScript 忽略一整块代码?
【问题讨论】:
-
甚至
@ts-ignore在打字稿2.4.2中的一行都不能工作。我升级到"typescript": "2.6.1"然后它工作了。
标签: typescript tslint
// @ts-ignore 注释使 TypeScript 编译器可以忽略它下面的行。
如何使用 TypeScript 忽略一整块代码?
【问题讨论】:
@ts-ignore 在打字稿2.4.2 中的一行都不能工作。我升级到"typescript": "2.6.1" 然后它工作了。
标签: typescript tslint
你不能。这是open issue in TypeScript。
【讨论】:
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore
/* @ts-ignore */。
你不能。
作为一种解决方法,您可以在文件顶部使用 // @ts-nocheck 注释来禁用对该文件的类型检查:https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/
因此,要禁用对块(函数、类等)的检查,您可以将其移动到自己的文件中,然后使用上面的注释/标志。 (当然,这不如基于块的禁用灵活,但它是目前可用的最佳选择。)
【讨论】:
@ts-ignore cmets 更接近块级忽略)
/* tslint:disable */ 对 tslint 做同样的事情
如果您不需要类型安全,只需将块放入新的分隔文件并将扩展名更改为 .js,.jsx
【讨论】:
有
// @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.
所以请确保只在有类型错误的线路上使用它
【讨论】:
如果你使用 prettier,你可以添加 //prettier-ignore 来获得足够小以至于 prettier 变成多行的代码
【讨论】: