typescript - 将 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.html,https://www.typescriptlang.org/ docs/handbook/compiler-options.html。
所以,只是为了重申这个问题:我怎样才能找出关闭哪个编译器选项来消除给定的错误?
解决方案
错误消息和编译器设置之间没有 1:1(或 1:n 或 n:1)的对应关系,并且绝大多数错误无法使用任何编译器选项关闭。许多编译器选项以某种方式改变行为,这意味着您无法可靠地说出与其他一些选项集相反的情况会发生什么。
对于确实有相应标志的错误消息,错误文本通常会提示它
"x" implicitly has type 'any'
▶noImplicitAny
Unreachable code detected
▶allowUnreachableCode
Unused label detected
▶allowUnusedLabels
"x" is possibly "null"
▶strictNullChecks
Local "x" is unused
▶noUnusedLocals
ETC
推荐阅读
- react-native - 使用 expo start 启动时,Expo 不会创建 Websocket ApolloClient 实例
- dataweave - 如何使用过滤器 DataWeave 从数组 JSON 中删除对象
- database - SQLDelight v1.4 不生成界面
- python - Python:在代码中使用 PARALLEL 技术时如何忽略警告?
- javascript - 如何使用 Leaflet 创建文本框?
- javascript - 如何使用 axios 取消正在进行的 GET 请求
- javascript - dgrid-不区分大小写的列排序
- java - BufferedImage 会降低性能
- sql-server - 如何为同一报表创建具有两个不同参数选择数据的 SSRS 报表订阅?
- python - 将具有相同名称但不同编号的多个列复制到 python/pandas 中的新 df