[英]ESLint React Parsing Error
因此,我按照guide.meteor.com上的说明设置了package.json eslintConfig。
"eslintConfig": {
"plugins": [
"meteor"
],
"extends": [
"airbnb/base",
"plugin:meteor/recommended"
],
"rules": {
"meteor/eventmap-params": [
2,
{
"templateInstanceParamName": "instance"
}
],
"import/no-unresolved": [
2,
{
"ignore": [
"^meteor/"
]
}
],
"semi": [
"error",
"never"
]
}
}
在我尝试使用React之前,它可以正常工作。
main.js:
Meteor.startup(() => {
render(<App />, document.getElementById('render-target'))
})
引发错误: [eslint] Parsing error: Unexpected token <
我有react插件:
"devDependencies": {
"eslint": "^2.9.0",
"eslint-config-airbnb": "^8.0.0",
"eslint-plugin-import": "^1.6.1",
"eslint-plugin-jsx-a11y": "^1.0.4",
"eslint-plugin-meteor": "^3.5.2",
"eslint-plugin-react": "^5.0.1"
}
我尝试了以下Google的示例,但没有一个有帮助。 我尝试将'react'和'eslint-plugin-react'添加到插件中,没有任何改变。 我很想知道该解决方案没有在流星指南的ESLint部分中提供。 任何援助将不胜感激。
您不需要安装babel-eslint
。 Espree(本机ESLint解析器)完全支持ES6,ES7和对象剩余/扩展。 ESLint停止解析文件的原因是因为您尚未启用jsx
,因此它将认为它是不正确的语法。
{
"ecmaFeatures": {
"ecmaVersion": 6,
"sourceType": "module",
"jsx": true
}
}
将以上代码段添加到您的配置文件中,它应该开始工作。 有关更多信息,您可以阅读指定解析器选项
安装babel-eslint
并在.eslintrc
添加"parser": "babel-eslint"
。 您缺少ES6转换,因此eslint崩溃了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.