如何修复此错误消息“初始化错误(Eslint)。意外标识符”?

时间:2018-01-09 11:57:09

标签: webstorm eslint eslint-config-airbnb

我有 Eslint JSCS 设置,使用 WebStorm 中的 airbnb js样式指南重新格式化一些代码库。过去两天我一直在有效地使用这个设置,但突然之间,WebStorm开始抛出这个错误......

  

ESLint重新格式化问题:index.js:初始化错误(ESLint)。意外的标识符

enter image description here

我想也许我的 .eslintrc 中有一些错误,但后来我使用相同的配置在这突然错误之前成功重构了大约150个文件。 在此之前, JSCS 编译器偶尔会抛出“不到一分钟的超时”异常,但之后我会通过关闭并重新打开文件来解决这个问题。 eslint 虽然似乎没有因此而堕落。

这是我的.eslintrc配置

{
  "extends": "airbnb",
  "env": {
    "browser": true,
    "node": true
  },
  "globals": {
    "document": false
  },
  "rules": {
    "validateIndentation": 4,
    "func-names": [
      "error",
      "never"
    ],
    "react/jsx-filename-extension": [
      1,
      {
        "extensions": [
          ".js",
          ".jsx"
        ]
      }
    ],
    "jsx-a11y/label-has-for": [
      2,
      {
        "components": [
          "Label"
        ],
        "required": {
          "some": [
            "nesting",
            "id"
          ]
        },
        "allowChildren": false
      }
    ],
    "jsx-a11y/anchor-is-valid": [
      "error",
      {
        "components": [
          "Link"
        ],
        "specialLink": [
          "to",
          "hrefLeft",
          "hrefRight"
        ],
        "aspects": [
          "noHref",
          "invalidHref",
          "preferButton"
        ]
      }
    ]
  }
}

package.json 的某些部分

{
    "eslint": "^4.14.0",
    "eslint-config-airbnb": "^16.1.0",
    "eslint-loader": "^1.9.0",
    "eslint-plugin-flowtype": "^2.40.1",
    "eslint-plugin-import": "^2.8.0",
    "eslint-plugin-jsx-a11y": "^6.0.3",
    "eslint-plugin-react": "^7.5.1",
    "extract-text-webpack-plugin": "^3.0.2",
    "prop-types": "^15.6.0",
    "react": "^16.2.0",
    "react-dev-utils": "^4.2.1",
    "react-dom": "^16.2.0",
    "react-redux": "^5.0.6",
    "react-router-dom": "^4.2.2",
  },
  "babel": {
    "presets": [
      "react-app",
      "flow"
    ]
  },
  "eslintConfig": {
    "extends": "react-app"
  }
}

有人可以告诉我如何解决这个问题。我怀疑它可能比Eslint更像是一个WebStorm错误。

PS:如果这个问题可能更适合超级用户,请原谅我。我只是觉得这里的人很可能遇到同样的问题。

2 个答案:

答案 0 :(得分:1)

yarn upgrade

解决

我尝试使用新项目重新创建问题失败了,使用相同的配置,eslintjscs都成功运行。

但是,在非Apply ESlint Code Style Rules文件(在.eslintrc本身上测试)上使用WebStorm上下文菜单命令 js 时,我得到了更详细的错误。

  

尝试查找'.eslintrc'的父和基本ESLint配置文件时出错:[projectpath] \ node_modules \ lodash \ lodash.js:386'\ u0149':''n','\ u017f': 'S',

我仔细检查了lodash包node_modules和package.json,检查了设置配置(Eslint& JSCS)并确定我对没有错误的linting的测试项目进行了相同的设置。

yarn upgrade lodash 保存了我的头发。由于我已经在运行最新的lodash,我认为纱线的解决和重建包装就行了。

希望有人可能会发现这有用的地方。

答案 1 :(得分:1)

我在 phpstorm 中为我的 eslint 配置使用了这种模式,现在错误消失了,

{**/*,*}.{js,ts,jsx,tsx,html,vue},{!node_modules/*}