使 complierOptions 在 tsconfig 中生成警告而不是错误

Posted

技术标签:

【中文标题】使 complierOptions 在 tsconfig 中生成警告而不是错误【英文标题】:Make complierOptions generate warnings instead of errors in tsconfig 【发布时间】:2019-01-06 17:37:26 【问题描述】:

有没有办法在 tsconfig.json 文件中将选项 noUnusedLocals 和 noUnusedParameters 指示为警告而不是阻止编译的错误?

目前我在 tsconfig.json 文件中使用它们,如下所示:

  "compilerOptions": 
    "noUnusedLocals": true,
    "noUnusedParameters": true
  ,

我尝试了这个选项:

“没有未使用的变量”:真,

在 tslint.json 文件中,但它没有检测到像 tsc 这样的错误,在 Visual Studio 代码中我看不到它们加下划线。

【问题讨论】:

【参考方案1】:

您可能已经看到,Visual Studio Code 有一个技巧,可以在实时编辑期间将 noUnusedLocals 和 noUnusedParameters 问题显示为警告(typescript.reportStyleChecksAsWarnings 设置,默认为 true)。 tslint 扩展根本不会显示这些问题,因为它们需要类型信息,the tslint extension does not support。

如果问题是您正在使用类似 tsc --noEmitOnError 的东西,并且您不希望 noUnusedLocals/noUnusedParameters 错误阻止发射,那么您可以让 Visual Studio Code 使用启用了 noUnusedLocals/noUnusedParameters 的 tsconfig.json 并且让你的命令行构建使用 tsc 和一个单独的 tsconfig.json 禁用选项,加上 tslint 和 no-unused-variable。

【讨论】:

在多人接触 tsconfig 文件的团队中,这很容易出错。它仍然是推荐的解决方案吗? 是的,这是一个两难的选择。 linter 和 vs 代码插件应该支持它作为警告。或 tsconfig(针对特定规则)。如果可能,最好的解决方案可能是切换到eslint。由于 tslint (官方)被弃用,取而代之的是 eslint。 plugin 支持打字稿。

以上是关于使 complierOptions 在 tsconfig 中生成警告而不是错误的主要内容,如果未能解决你的问题,请参考以下文章

未找到 tsconfig.json 中的 TypeScript 路径别名

使用vscode调试小段的typescript代码

如何配置 react-script 使其不会在“开始”时覆盖 tsconfig.json

Vue3 企业级优雅实战 - 组件库框架 - 11 组件库的打包构建和发布

解决Dev-C++ [Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode

解决Dev-C++ [Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode