使 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 路径别名
如何配置 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