ESlint:解析错误:意外的令牌<

时间:2017-08-17 06:08:25

标签: reactjs eslint

我有这个功能:

import React from 'react';
import FilterList from './Filter/FilterList';

export default function Sidebar() {
  return (
    <div>
      <FilterList />
    </div>
  );
}

包括这些包裹:

  "dependencies": {
"bootstrap": "^3.3.7",
"font-awesome": "^4.7.0",
"i18n-react": "^0.4.0",
"react": "^15.6.1",
"react-bootstrap": "^0.31.2",
"react-dom": "^15.6.1",
"react-fontawesome": "^1.6.1",
"react-router-dom": "^4.1.2",
"rxjs": "^5.4.3",
"superagent": "^3.5.2",
"webpack": "^3.5.4"},

"devDependencies": {
"eslint": "^4.4.1",
"eslint-config-airbnb-base": "^11.3.1",
"eslint-plugin-import": "^2.7.0",
"nwb": "0.18.x",
"nwb-less": "^0.6.0",
"yaml-loader": "^0.5.0"},

但是当运行lint时我收到此错误: 错误解析错误:意外的令牌&lt;

我的.eslintrc文件:

module.exports = {
"extends": "airbnb-base",
"plugins": [
  "import"
]};

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您收到此错误是因为eslint不知道如何处理JSX语法,因此您需要eslint-plugin-react

但是你也缺少airbnb-eslint-config工作所需的其他插件。做他们在docs中所说的话:

npm info "eslint-config-airbnb@latest" peerDependencies

并安装打印的依赖项(作为dev依赖项)。

截至今天,我得到了这份清单:

{ eslint: '^3.19.0 || ^4.3.0',
  'eslint-plugin-jsx-a11y': '^5.1.1',
  'eslint-plugin-import': '^2.7.0',
  'eslint-plugin-react': '^7.1.0' }

答案 1 :(得分:0)

如果您使用的是nmp5+,则一种快捷方式是:

npx install-peerdeps --dev eslint-config-airbnb

-peerdeps涉及所有依赖项。