例如,这个例子
async function a() { await null; }
在VS代码中有一个关于wait的小警告
'await' has no effect on the type of this expression. ts(80007)
我如何让这个警告像VS代码和tsc中的错误一样运行(更明显,编译失败)?
tsc
lb3vh1jj1#
为了让tsc将此视为错误,需要有一个编译器标志,您可以设置与async-await相关的标志,我在查看他们的docs时无法找到该标志。然而,有一个掉毛规则(假设你已经设置了eslint),它会导致你的掉毛器在这种情况下抱怨,关于它是如何工作的,请参见eslint docs。所有这些都说明了,如果你真的特别想要这种行为,我认为你可以在node_modules中编辑这个诊断消息的类别为"Error",因为typescript。这种方法对我来说有点脆弱,所以我肯定会鼓励linter方法!至于将eslint与VSCode集成,有一个plugin应该可以将掉毛警告直接集成到编辑器中。我怀疑您可以从VSCode本身直接从他们的市场将其添加到您的VSCode中。
async-await
eslint
node_modules
"Error"
typescript
fnx2tebb2#
在.eslintrc.{js,json,yaml,yml}的rules对象中包括以下行
.eslintrc.{js,json,yaml,yml}
rules
'@typescript-eslint/await-thenable': 'error',
确保您安装了@typescript-eslint/eslint-plugin和@typescript-eslint/parser(检查您的package.json)。如果使用VSCode,可以使用ESLint extension在编辑器中自动强制执行eslint规则。
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
package.json
2条答案
按热度按时间lb3vh1jj1#
为了让
tsc
将此视为错误,需要有一个编译器标志,您可以设置与async-await
相关的标志,我在查看他们的docs时无法找到该标志。然而,有一个掉毛规则(假设你已经设置了
eslint
),它会导致你的掉毛器在这种情况下抱怨,关于它是如何工作的,请参见eslint docs。所有这些都说明了,如果你真的特别想要这种行为,我认为你可以在
node_modules
中编辑这个诊断消息的类别为"Error"
,因为typescript
。这种方法对我来说有点脆弱,所以我肯定会鼓励linter方法!至于将
eslint
与VSCode集成,有一个plugin应该可以将掉毛警告直接集成到编辑器中。我怀疑您可以从VSCode本身直接从他们的市场将其添加到您的VSCode中。fnx2tebb2#
在
.eslintrc.{js,json,yaml,yml}
的rules
对象中包括以下行确保您安装了
@typescript-eslint/eslint-plugin
和@typescript-eslint/parser
(检查您的package.json
)。如果使用VSCode,可以使用ESLint extension在编辑器中自动强制执行eslint规则。