【问题标题】:Suppressing certain errors e.g. TS7017 in tsconfig.json抑制某些错误,例如tsconfig.json 中的 TS7017
【发布时间】:2017-01-29 18:35:38
【问题描述】:

有没有可能,如果有,怎么做?我想实现类似(例如,在tsconfig.json 中的compilerOptions):

// ATTENTION PSEUDO CODE
suppressErrors: ['TS7017', ....]

附言TS7017:对象类型的索引签名隐式具有“任何”类型。

编辑:仅供参考,我想抑制任何所需的错误; TS7017 只是一个例子。

【问题讨论】:

  • TypeScript v4++ 能提供帮助吗?

标签: typescript compiler-errors compiler-options tsconfig


【解决方案1】:

如果你想抑制这个特定的错误,你可以在compilerOptions中使用"suppressImplicitAnyIndexErrors": true

详情请见tsconfig schema

【讨论】:

  • 谢谢,但我想抑制任何所需的错误,TS7017 只是一个示例。
  • @Lonely 您问题的标题是“抑制 某些 错误”——您想抑制哪些错误?我知道的唯一其他错误抑制选项是--suppressExcessPropertyErrors,也许这会有所帮助。顺便说一句,typescriptlang.org/docs/handbook/compiler-options.html
【解决方案2】:

抑制某些错误

目前没有这样的选择。我创建了一个问题来跟踪它:https://github.com/Microsoft/TypeScript/issues/11051

【讨论】:

    【解决方案3】:

    此特定错误消息是 noImplicitAny 错误消息。这意味着您已将 --noImplicitAny 传递给编译器。如果您希望将其关闭,请不要设置标志。

    需要注意的一点是,TypeScript 编译器错误不会影响您的输出。无论如何都会生成输出。所以如果你想忽略所有错误,你可以。

    与类型系统工作无关的错误都由标志管理,例如noImplicitAny、noImplicitThis、noUnusedLocals、noUnusedPrameters、noImplicitReturs 等。

    其他错误是来自编译器的信号,表明在检查代码时出现问题。消除错误并不能保证类型系统已正确理解您的代码。这并不能保证您的程序是一致的,或者更重要的是,您不会在系统的其他部分出现可解释的错误。

    我很想知道您认为哪些具体错误是多余的,并希望禁止显示

    【讨论】:

    • this 相关的所有内容,如语法和语义正确的this[whatever],输出TS7017 错误。我可以用(this as any)[whatever] 压制它,这是我目前的解决方案,它(我认为)是你在微软平台上的想法。
    • 为此使用--suppressImplicitAnyIndexErrors。请参阅编译器选项文档页面:typescriptlang.org/docs/handbook/compiler-options.html
    • TS2403 方便抑制第三方代码
    【解决方案4】:

    从 TypeScript 2.6(2017 年 10 月 31 日发布)开始,a way to ignore all errors from a specific line 在目标行之前使用 // @ts-ignore cmets。

    The mendtioned documentation 已经够简洁了,但要回顾一下:

    // @ts-ignore
    const s : string = false
    

    禁用此行的错误报告。

    至于指定某些错误,目前状态讨论here, in Design Meeting Notes (2/16/2018) and further comments,基本就是

    “没有结论

    强烈反对引入这种微调。

    【讨论】:

    • 谢谢,我到处找这个。像 // tslint:disable-next-line 这样的其他 cmets 不起作用
    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 2017-08-12
    • 2020-08-14
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    相关资源
    最近更新 更多