Почему JSHint выдает предупреждение, если я использую const?
Это ошибка, которую я получаю при использовании const:
<error line="2" column="1" severity="warning" message="'const' 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 предупреждает меня каждый раз.
Ответы
Ответ 1
Опираясь на функции ECMAScript 6, такие как const
, вы должны установить эту опцию, чтобы JSHint не выдавал ненужных предупреждений.
/* jshint esnext: true */ (Изменить 2015.12.29: обновлен синтаксис для отражения комментариев @Olga)
/*jshint esversion: 6 */
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
Эта опция, как следует из названия, говорит JSHint, что ваш код использует специальный синтаксис ECMAScript 6. http://jshint.com/docs/options/#esversion
Изменить 2017.06.11: добавлена еще одна опция, основанная на этом ответе.
Хотя встроенная конфигурация хорошо работает для отдельного файла, вы также можете включить этот параметр для всего проекта, создав файл .jshintrc
в .jshintrc
каталоге вашего проекта и добавив его туда.
{
"esversion": 6
}
Ответ 2
Вы можете добавить файл с именем .jshintrc в корень приложения со следующим содержимым, чтобы применить этот параметр для всего решения:
{
"esversion": 6
}
Ответ Джеймса предполагает, что вы можете добавить комментарий /*jshint esversion: 6 */
для каждого файла, но это больше работы, чем необходимо, если вам нужно контролировать много файлов.
Ответ 3
Я получил это же предупреждение при использовании оператора экспорта. Я использую VS Code и использовал аналогичный подход к решению Wenlong Jiang.
- Пользовательские настройки
- Конфигурация JSHint
-
"jshint.options": {}
(Изменить) -
Используйте двойные кавычки при указании "esversion"
Или скопируйте этот фрагмент в настройки пользователя:
"jshint.options": {
"esversion": 6,
}
Создание файла .jshintrc
не требуется, если вы хотите настроить глобальные параметры jshint для вашего редактора.
Ответ 4
Если вы используете VSCode:
1.
- Перейдите в настройки → настройки (
cmd + ,
)
- Введите
jshint.options
в строку поиска
- Наведите курсор на него и нажмите на значок карандаша
- Теперь он добавлен на правой стороне.
- Добавьте
"esversion": 6
к объекту параметров.
2.
Или просто добавьте это в свои настройки пользователя:
"jshint.options": {
"esversion": 6
}
[ОБНОВЛЕНИЕ] новые настройки vscode
- Перейдите в настройки → настройки (
cmd + ,
)
- введите
jshint
в поиске
![VSCode Settings]()
Ответ 5
Я потратил годы, пытаясь это исправить. В каждом решении говорится о параметрах настройки. Я не знаю, что это значит. Наконец, я понял это. Вы можете просто включить прокомментированную строку в верхней части файла /*jshint esversion: 6 */
.
![Решение]()
Ответ 6
Вы можете указать esversion: 6 внутри объекта опций jshint. См. Изображение. Я использую плагин grunt-contrib-jshint.
![введите описание изображения здесь]()
Ответ 7
Когда вы начинаете использовать ECMAScript 6, эта ошибка выдается вашей IDE.
Доступны два варианта:
если у вас есть только один файл и вы хотите использовать es6, просто добавьте строку внизу вверху файла.
/*jshint esversion: 6 */
Или, если у вас есть номер файла js или вы используете какой-либо фреймворк (например, nodejs express), вы можете создать новый файл с именем .jshintrc
в своем корневом каталоге и добавить код ниже в файл:
{
"esversion": 6
}
Если вы хотите использовать версию es6 для каждого проекта, вы можете настроить свою IDE.
Ответ 8
Если вы используете Webstorm и у вас нет собственного конфигурационного файла, просто включите EcmaScript.next
в параметрах Relaxing в
Настройки | Языки и рамки | JavaScript | Инструменты качества кода | JSHint
Посмотреть этот вопрос How-do-I-resol-these-JSHint-ES6-errors
Ответ 9
Если вы используете конфигурацию Grunt, вам необходимо выполнить следующие шаги
Предупреждающее сообщение в Jshint:
![enter image description here]()
Решение:
- Установите параметры jshint и отобразите файл .jshintrc.js.
![enter image description here]()
- Создайте файл .jshintrc.js в этом файле и добавьте следующий код
{
"esversion": 6
}
После того, как настроили это, Запустите снова. Оно пропустит предупреждение,
![enter image description here]()
Ответ 10
Создайте файл, называемый jshint_opts, с этим контентом:
{
"esversion": 6
}
Затем вызовите jshint с чем-то вроде этой командной строки:
jshint --config jshint_opts lib/*. js
Ответ 11
В вашем package.json вы можете указать Jshint использовать es6 следующим образом:
"jshintConfig":{
"esversion": 6
}
Ответ 12
При использовании Sublime Text 3:
- Зайдите в Настройки → Настройки
- В Preferences.sublime-settings - пользователь добавляет "esversion": 6