ESLintError в плагин залпом-eslint' - ошибка синтаксического анализа: непредвиденная лексема =


Я работаю над проектом, ReactJs, я пытаюсь быть в состоянии написать код в ES7 для того, чтобы написать более элегантный код внутри моего компонента реагируют, а конкретно статические propTypes.

Я использую Gulp с Babel, ESlint, но я не могу исправить ошибку компиляции, связанную с моими статическими проптипами

Это сообщение об ошибке, которое я получаю

[11:12:34] ESLintError в плагине 'gulp-eslint' Сообщение: Ошибка синтаксического анализа: непредвиденный токен = Подробности: имя файла: [MYFOLDER] / клиент / компоненты / приложение/статья/актив / индекс.JS номер линии: 5 [11: 12: 36] [MYFOLDER] / клиент / компоненты / приложение/статья/актив / индекс.JS 5: 19 ошибка синтаксического анализа ошибка: непредвиденный токен =

И это относится к линии статических проптипов = {

import React from 'react';

export default class Asset extends React.Component {

  static propTypes = {
    articleImageUrl: React.PropTypes.string.isRequired,
  };

  static defaultProps = {
    articleImageUrl: 'https://placeholdit.imgix.net/~text?txtsize=60&txt=640%C3%97480&w=640&h=480'
  };


  constructor(props) {
    super(props);
  }

  render() {
    return (
      <div className="article__asset">
        <figure>
          <img src={this.props.articleImageUrl} />
        </figure>

      </div>
    );
  }
}

Это моя Вавилонская конфигурация

return browserify({
            debug: true,
            entries: [`${NPM_DIR}/es5-shim/es5-shim.js`, CLIENT_DIR + '/index.js']
        })
        .transform(babelify.configure({
            sourceMapRelative: CLIENT_DIR,
            presets: ['react', 'es2015', 'stage-0'],
            plugins: ["transform-object-rest-spread", "transform-decorators-legacy", "transform-class-properties"]
        }))
        .bundle()
        .on('error', function(e){
            gutil.log(e);
        })
        .pipe(source('bundle.js'))
        .pipe(rename('bundle.min.js'))
        .pipe(gulp.dest(PUBLIC_DIR));

Это моя конфигурация eslint

{
  "plugins": [
    "react"
  ],
  "extends":  ["eslint:recommended", "plugin:react/recommended"],
  "ecmaVersion": 7,
  "rules": {
    // rules
  },
  "parserOptions": {
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "blockBindings": true
    }
  }
}

Что я делаю не так? Большое спасибо

1 2

1 ответ:

Используйте babel-eslint parser в конфигурации ESLint.

npm install babel-eslint --save

{
  "parser": "babel-eslint",
  "plugins": ["react"],
  ...
}