使用有效的JSX语法在Atom中出错

时间:2018-11-14 19:16:36

标签: reactjs atom-editor jsx eslint

在过去两周的某个时候,eslint开始将此类行标记为错误,我无法确切查明造成这种情况的原因。

我的操作系统(Arch)已更新了几次,并且package.json软件包也偶尔发生了更新。

我什至不得不强迫Atom正确地识别我的JSX文件(使用JSX语法),因为默认Javascript语法的语法高亮显示也遭到了破坏。

我尝试完全删除atom软件包以及config,但是我正在使用Atom软件包sync-settings备份和恢复我的配置。

return <InputFloat
  className='inline-block'
         ^^^^^^ Parsing error: Unexpected token = (Fatal)
  name={attribute.name}
  value={attribute.value}
  onChange={this.props.onChange}
/>
  

解析错误:意外的令牌=(严重)

package.json

"devDependencies": {
  "eslint": "^5.9.0",
  "eslint-config-standard": "^11.0.0",
  "eslint-plugin-import": "^2.14.0",
  "eslint-plugin-node": "^6.0.1",
  "eslint-plugin-promise": "^3.8.0",
  "eslint-plugin-react": "^7.11.1",
  "eslint-plugin-standard": "^3.1.0",
}

.eslintrc.json

{
  "env" : {
    "browser": true,
    "node": false
  },
  "globals" : {
    "Module": true
  },
  "plugins": [
    "react"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "standard"
  ],
  "parserOptions": {
        "ecmaVersion": 10,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
  "rules": {
    "no-console": "warn",
    "no-undef": 0,
    "no-path-concat": 0,
    "react/prop-types": 0,
    "no-new-func": 0,
    "no-debugger": 0,
    "no-template-curly-in-string": "warn"
  }
}

package-lock.json

  "eslint": {
    "version": "5.9.0",
    "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz",
    "integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==",....
  }

原子

  

$ atom --version
  原子:1.32.2电子:2.0.12铬:61.0.3163.100节点:8.9.3

Eslint

  

$ ./node_modules/.bin/eslint --version   v5.9.0

Atom / lint-slint

  

8.4.1

Atom配置

  

gist.github.com

1 个答案:

答案 0 :(得分:1)

也许有帮助。尝试安装“ babel-eslint”,然后将其"parser": "babel-eslint",添加到您的.eslintrc.json文件