2016-05-01 3 views
0

Итак, я выполнил инструкции на guide.meteor.com, чтобы настроить свой пакет package.json eslintConfig.Ошибка анализа ошибок ESLint

"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 <

У меня есть среагировать плагин:

"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, но ни один из них помог. Я попытался добавить «реагировать» и «eslint-plugin-react» на бит плагинов, и ничего не изменилось. Я не понял, что решение не было представлено в разделе ESLint руководства метеоритов. Любая помощь будет оценена.

+0

Попробуйте установить 'babel-eslint' – ZekeDroid

ответ

1

Установить babel-eslint и на ваш .eslintrc добавить "parser": "babel-eslint". Вам не хватает ES6 transpiling, поэтому eslint просто падает.

+0

Я думаю, что Meteor поставляется с упаковкой с буфером ... Или мне нужно добавить его как зависимость dev? –

+0

Ах да, добавив к зависимостям разработчиков трюк. Благодарю вас! –

1

Вам не нужно устанавливать babel-eslint. Espree (собственный парсер ESLint) полностью поддерживает ES6, ES7 и Object Rest/Spread. Причина, по которой ESLint прекратил разбор вашего файла, объясняется тем, что вы не включили jsx, поэтому он будет считать его неправильным синтаксисом.

{ 
    "ecmaFeatures": { 
    "ecmaVersion": 6, 
    "sourceType": "module", 
    "jsx": true 
    } 
} 

Добавить приведенный выше фрагмент в файл конфигурации, и он должен начать работать. Для получения дополнительной информации вы можете прочитать: Specifying Parser Options

Смежные вопросы