【问题标题】:How do I fix this error message "Initialization error (Eslint). Unexpected Identifier"?如何修复此错误消息“初始化错误(Eslint)。意外的标识符”?
【发布时间】:2018-06-18 11:04:11
【问题描述】:

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

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

我想我的 .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:如果这个问题可能更适合超级用户,请原谅我。我只是认为这里很可能有人遇到了同样的问题。

【问题讨论】:

  • 请提供错误信息的全文(点击“显示气球”链接)
  • @lena, Problem with ESLint reformatting:index.js: Initialization error (ESLint). Unexpected identifier 与单击显示气球链接时出现的消息相同。它只是在更好看的气球工具提示框中重新格式化相同的消息。
  • 不知道:(请分享一个可用于重新创建问题的示例项目,以及您的idea.log (intellij-support.jetbrains.com/hc/en-us/articles/…)
  • 我遇到了一个类似的问题,但我的问题是通过将 node 从版本 8 更新到 14 来解决的。最简单的方法就是从 nodejs.org 下载新版本的 node 并运行安装程序。
  • @Rikard 的修复工作有效。如果您需要在 WebStorm 中执行此操作,请打开 Preferences,转到 Language and Frameworks->Node.js 和 NPM->Node interpreter。我的默认是我安装的第一个版本的 Node,但我也使用 nvm。我通过从 nvm 中指向更新版本的 Node 来解决我的问题。

标签: webstorm eslint eslint-config-airbnb


【解决方案1】:

我在 phpstorm 中将这个模式用于我的 eslint 配置,现在错误已经消失了,

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

【讨论】:

    【解决方案2】:

    yarn upgrade解决


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

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

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

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

    跑步yarn upgrade lodash拯救了我的头发。由于我已经在运行最新的 lodash,我认为 yarn 的 Resolving and Rebuilding the packages 可以解决问题。

    希望有人可能会在某个地方发现这对您有所帮助。

    【讨论】:

    • npm upgrade救了我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多