【发布时间】:2018-06-18 11:04:11
【问题描述】:
我有 Eslint 和 JSCS 设置以在 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