繁体   English   中英

修复 VS Code 中的 do 表达式抛出 linter 错误

[英]Fix do expression throwing linter error in VS Code

一段时间以来,我一直在尝试让 Visual Studio Code 停止抱怨和减慢我的编辑器的速度,因为这个关于 do 表达式没有一段时间或期待表达式的 linter 错误。

这是我在编辑器中看到的

在此处输入图像描述

我安装了 eslint,这是我的版本

"@babel/core": "7.9.0",
"babel-eslint": "10.1.0",
"@babel/eslint-plugin": "^7.12.1",
"@babel/plugin-proposal-do-expressions": "^7.8.3",
"eslint": "^6.6.0",

这是我的一些配置

...
"plugins": [
  ...
  "@babel"
],
...
"rules": {
  "no-unused-expressions": 0,
  "@babel/no-unused-expressions": 2,
},
...

我无法弄清楚为什么我仍然在编辑器中遇到这些错误,我不确定此时它是否与 eslint 有关,或者是否有其他原因导致它现在当我 hover 超过它时我看到了这个,这似乎 typescript 现在可能正在检查它? 即使它是一个 javascript 文件?

在此处输入图像描述

这是来自 babel 插件提案页面https://babeljs.io/docs/en/babel-plugin-proposal-do-expressions的示例

const Component = props =>
  <div className='myComponent'>
    {do {
      if(color === 'blue') { <BlueComponent/>; }
      else if(color === 'red') { <RedComponent/>; }
      else if(color === 'green') { <GreenComponent/>; }
    }}
  </div>
;

我一直在尝试让 Visual Studio Code 停止抱怨和减慢我的编辑器,因为这个 linter 错误是关于 do 表达式没有一段时间或期待一个表达式。

这是我在编辑器中看到的

在此处输入图像描述

我已经安装了 eslint,这是我拥有的版本

"@babel/core": "7.9.0",
"babel-eslint": "10.1.0",
"@babel/eslint-plugin": "^7.12.1",
"@babel/plugin-proposal-do-expressions": "^7.8.3",
"eslint": "^6.6.0",

这是我的一些配置

...
"plugins": [
  ...
  "@babel"
],
...
"rules": {
  "no-unused-expressions": 0,
  "@babel/no-unused-expressions": 2,
},
...

我不知道为什么我仍然在编辑器中收到这些错误,我不确定它是否与 eslint 有关,或者是否有其他原因导致它现在当我 hover 超过它时,我看到了这个,似乎 typescript 现在可能正在掉毛? 即使它是 javascript 文件?

在此处输入图像描述

这是来自 babel 插件提案页面https://babeljs.io/docs/en/babel-plugin-proposal-do-expressions的示例

const Component = props =>
  <div className='myComponent'>
    {do {
      if(color === 'blue') { <BlueComponent/>; }
      else if(color === 'red') { <RedComponent/>; }
      else if(color === 'green') { <GreenComponent/>; }
    }}
  </div>
;

2020 年 11 月 20 日更新注意: babel-eslint现在是@babel/eslint-parser并已移至Babel monorepo中。

$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D

然后在你的.eslintrc中做:

{
  parser: "@babel/eslint-parser",
}

来源: https://stackoverflow.com/a/61629494/13859552 https://eslint.org/docs/user-guide/configuring

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM