我曾经在TypeScript项目中导入一个纯JavaScript库,给了我一个烦人的Could not find a declaration file for module xxx
消息。所以阅读了之后,我发现我可以用一个带有@ts-ignore
的注解来抑制这个消息。但是,在有问题的行之前添加这个注解,我得到了另一个错误
不要使用“// @ts-ignore”注解,因为它们会隐藏编译错误@typescript-eslint/ban-ts-ignore
如何修复此错误并隐藏原始消息?
我曾经在TypeScript项目中导入一个纯JavaScript库,给了我一个烦人的Could not find a declaration file for module xxx
消息。所以阅读了之后,我发现我可以用一个带有@ts-ignore
的注解来抑制这个消息。但是,在有问题的行之前添加这个注解,我得到了另一个错误
不要使用“// @ts-ignore”注解,因为它们会隐藏编译错误@typescript-eslint/ban-ts-ignore
如何修复此错误并隐藏原始消息?
5条答案
按热度按时间4szc88ey1#
所有的答案都建议禁用整个eslint规则,这并不实用,更好的解决方案是忽略特定位置的eslint错误,如下所示:
k4emjkb12#
您可以停止使用
@ts-ignore
或者您可以禁用eslint规则,将其添加到eslint配置中(
.eslintrc
或等效配置)**编辑:**如果您使用的是
@typescript-eslint/eslint-plugin
版本2.18或更高版本,则规则名为ban-ts-comment
,您需要添加下面是更改日志
gcmastyq3#
因为我缺乏声誉,所以作为答案而不是对已接受的答案发表评论。我仍然想做出贡献,并可能帮助别人。
我的原则是
不是
ban-ts-ignore
hc2pp10m4#
我建议允许
@ts-ignore
带有强制描述。这可以通过.eslintrc.js
中的以下配置来实现。现在您需要为ignore添加一个
description
,方法是在ignore语句后添加冒号:
并添加描述(这也可以强制使用 * min length minimumDescriptionLength *)。示例:
在本例中,描述为
Testing invalid input
ktecyv1j5#
如果使用
npm
运行应用程序,则可以在package.json
中指定规则。语法与其他答案相当不同:我确认使用
ban-ts-comment
而不是ban-ts-ignore
(仅使用typescript-eslint/eslint-plugin v2.33.0
进行测试)