Синтаксический жалоб на синтаксис модуля ES6
Мне нравится синтаксис для javascript, но я использую новый tranpiler модуля ES6, и синтаксис недоволен этими типами утверждений:
import Typeahead from './lib/components/ember-typeahead';
В любом случае, я могу сохранить синтаксическую тишину в отношении этого типа утверждения?
Ответы
Ответ 1
Syntastic будет использовать JSHint для проверки синтаксиса JavaScript если он доступен (который я рекомендую по jslint).
JSHint поддерживает синтаксис es6 с флагом esnext
, который включает поддержку синтаксиса модуля export
и import
.
Я предлагаю добавить файл .jshintrc
в ваш проект для управления поведением JSHint (и, следовательно, Syntastic) для всего проекта:
{
"esnext": true
}
Примечание. Будьте осторожны, так как использование флага esnext
добавит поддержку всех es6 новых языков sytax, которые в настоящее время поддерживает JSHint, а не только синтаксис модуля.
Примечание: esnext
теперь устарело в пользу esversion
.
{
"esversion": 6
}
Ответ 2
Чтобы обойти это, я предлагаю следующие шаги, как рекомендовано здесь: Настроить Vim for React:
Установите eslint
и babel-eslint
:
npm install -g eslint babel-eslint
Создайте локальную конфигурацию .eslintrc
в вашем проекте или глобальную конфигурацию ~/.eslintrc
:
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true
},
"settings": {
"ecmascript": 6
},
"rules": {
"strict": 0 // you can add more rules if you want
}
}
Наконец, настройте syntastic
на использование eslint
:
let g:syntastic_javascript_checkers = ['eslint']