Почему JSHint выдает предупреждение, если я использую const?



это ошибка, которую я получаю при использовании const:



<error line="2" column="1" severity="warning" message="&apos;const&apos; is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />


мой код выглядит так:



const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};


код работает нормально только JSHint предупреждает меня каждый раз.

5098   10  

10 ответов:

при использовании функций ECMAScript 6, таких как const, вы должны установить эту опцию, чтобы JSHint не вызывал ненужных предупреждений.

/ * jshint esnext: true */ (изменить 2015.12.29: обновленный синтаксис для отражения @Ольга)

/*jshint esversion: 6 */

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

эта опция, как следует из названия, сообщает JSHint, что ваш код использует ECMAScript 6 specific синтаксис. http://jshint.com/docs/options/#esversion

редактировать 2017.06.11: добавлена еще одна опция на основе ответ.

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

{
  "esversion": 6
}

Вы можете добавить файл с именем .jshintrc в вашем приложении root со следующим содержимым, чтобы применить этот параметр для решение:

{
    "esversion": 6
}

Джеймс' ответ предполагает, что вы можете добавить комментарий /*jshint esversion: 6 */ на каждого, но это больше работы, чем необходимо, если вам нужно контролировать много файлов.

Я потратил годы, пытаясь исправить это. Каждое решение говорит о "настройке параметров". Я не знаю, что это значит. Наконец-то я все понял. Вы можете просто закомментировать строку в верхней части файла /*jshint esversion: 6 */.

Solution

Я получил это же предупреждение при использовании инструкции экспорта. Я использую VS-код и использовал аналогичный подход к решению Wenlong Jiang.

  1. Настройки Пользователя
  2. JSHint config
  3. "jshint.options": {} (Edit)
  4. использовать двойные кавычки при указании "esversion"

    или скопируйте этот фрагмент в Настройки пользователя:

    "jshint.options": {
      "esversion": 6,
    }
    

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

вы можете указать esversion:6 внутри объекта параметров jshint. Пожалуйста, смотрите изображение. Я использую плагин grunt-contrib-jshint.

enter image description here

если вы используете VSCode:

  • на предпочтения ->настройки (cmd + ,)
  • тип jshint.options в строке поиска
  • наведите на него курсор и нажмите на значок карандаша
  • его теперь добавляется на правой стороне.
  • добавить "esversion": 6 параметры объекта.

или просто добавьте это в Настройки пользователя:

"jshint.options": {
    "esversion": 6
}

когда вы начинаете использовать ECMAScript 6 Эта ошибка, вызванная вашей IDE.

есть два варианта:

Если у вас есть только один файл и вы хотите использовать es6, просто добавьте нижнюю строку в верхней части файла.

/*jshint esversion: 6 */

или если у вас есть номер JS-файла или вы используете любую структуру(например, nodejs express), вы можете создать новый файл с именем .jshintrc в корневой каталог и добавить код ниже в файл:

{
    "esversion": 6
}

Если вы хотите использовать версию es6 для каждого проекта, который вы можете настроить в своей среде IDE.

создайте файл с именем, скажем jshint_opts с этим содержимым: { "esversion": 6 }

затем вызовите jshint с чем-то вроде этой командной строки:

jshint --config jshint_opts lib/*.js

при использовании Sublime Text 3:

  • на предпочтения ->настройки
  • под настройки.sublime-настройки-пользователь добавить "esversion": 6

Если вы используете Webstorm и если у вас нет собственного файла конфигурации, то просто включите EcmaScript.next в расслабляющих вариантах в in

Настройки / Языки И Фреймворки / JavaScript / Инструменты Качества Кода | JSHint

посмотреть здесь How-do-I-resolve-these-JSHint-ES6-errors

Comments

    Ничего не найдено.