Как установить опцию jshint/jsxhint "esnext" в Atom

Я использую Atom's linter, react, а также linter-jshint/linter-jsxhint, В моих файлах JSX я получаю предупреждение

Предупреждение: "импорт" доступен только в ES6 (используйте опцию esnext). (W119)

Это довольно просто. Я сделал некоторые поиски, и обнаружил, что это может быть установлено под jshintConfig вариант в package.json (при использовании NPM). Мой проект использует NPM, и у меня есть package.json, Я добавил:

"jshintConfig": {
  "esnext": true
}

После этого я сделал перезагрузку, но предупреждения остаются. Я также изменил мой linter-jshint/linter-jsxhint конфиг в Atom (config.cson) с:

"linter-jshint":
  harmony: true
  esnext: true

"linter-jsxhint":
  harmony: true
  esnext: true

И сделал перезагрузку, но это тоже не помогло.

Итак: при использовании linter-jshint/linter-jsxhint как пакеты Atom, как мне установить esnext вариант?

3 ответа

Решение

Первая возможность, рекомендуется: вы можете создать .jshintrc в вашем домашнем каталоге, и jshint будет читать его, если в каталоге проекта его нет. Возможно, вам придется перезапустить Atom после.

Другая возможность не рекомендуется: вы также можете изменить конфигурацию jshint в Atom и указать местоположение вашей глобальной .jshintrcесли по какой-то причине вы не хотите помещать его в свой домашний каталог с флагом --config

'linter-jshint':
  'jshintExecutablePath': /path/to/jshint --config /path/to/.jshinrc

Запустите 'which jshint', чтобы найти путь. Это не рекомендуется, потому что каждый другой .jshinrc Файл (в проекте и т. д.) будет игнорироваться:

jshint будет искать эту конфигурацию в нескольких местах, останавливаясь на первом положительном совпадении:

  • Расположение, указанное с флагом --config

  • Файл с именем package.json, расположенный в текущем каталоге или любом родительском объекте текущего каталога (конфигурация должна быть объявлена ​​как атрибут jshintConfig значения JSON этого файла)

  • Файл с именем.jshintrc, расположенный в текущем каталоге, или любой родительский элемент текущего каталога.

  • Файл с именем.jshintrc, расположенный в "домашнем" каталоге текущего пользователя (где он определен)

Вы можете создать .jshintrc в папке вашего проекта он будет прочитан линтером как исходный файл json.

Чтобы использовать опцию esnext,

{
    "esnext": true
}

Вам, вероятно, потребуется повторно открыть файл JS, чтобы увидеть новые изменения.

Вы можете использовать встроенную конфигурацию, добавив этот комментарий в ваш файл.js:

/ * jshint esversion: 6 * /

http://jshint.com/docs/

Другие вопросы по тегам