首页 > 解决方案 > 将 typescript 错误连接到其关联的编译器选项 (tsconfig.json)

问题描述

如何找出与给定 Typescript 错误相关的编译器选项?

我在 VSCode 中使用 Typescript,Typescript 经常指出问题,比如initializer provides no value for this binding element

(请注意,这是由 Typescript 生成的警告,而不是 TSLint)。

tsconfig.json中,我可以关闭特定的警告,例如

"compilerOptions": {
  "noImplicitAny": false,
  "strictPropertyInitialization": false
}

但据我所知,没有办法找出哪个编译器选项与哪个错误相关联。

到目前为止的线索,但没有解决方案:

这篇 SO 帖子,Typescript 错误代码及其修复的完整列表,提供了消息列表,但没有使用哪个编译器选项启用/禁用消息。

不幸的是,编译器选项的名称并没有模仿错误的措辞,因此您无法通过简单的 intellisense 找到错误tsconfig.json

此外,官方文档似乎也没有提供这样的错误到选项映射:https://www.typescriptlang.org/docs/handbook/tsconfig-json.htmlhttps://www.typescriptlang.org/ docs/handbook/compiler-options.html

所以,只是为了重申这个问题:我怎样才能找出关闭哪个编译器选项来消除给定的错误?

标签: typescriptvisual-studio-codetsc

解决方案


错误消息和编译器设置之间没有 1:1(或 1:n 或 n:1)的对应关系,并且绝大多数错误无法使用任何编译器选项关闭。许多编译器选项以某种方式改变行为,这意味着您无法可靠地说出与其他一些选项集相反的情况会发生什么。

对于确实有相应标志的错误消息,错误文本通常会提示它

  • "x" implicitly has type 'any'noImplicitAny
  • Unreachable code detectedallowUnreachableCode
  • Unused label detectedallowUnusedLabels
  • "x" is possibly "null"strictNullChecks
  • Local "x" is unusednoUnusedLocals

ETC


推荐阅读