Игнорировать переменную camelcase в JSHint
возникли некоторые проблемы с JShint и следующей строкой кода.
$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);
Я получаю ошибку,Identifier 'default_venue' is not in camel case.
обычно это не проблема, но у меня нет никакого контроля над именем переменной - он вводится через API JSON.
есть ли способ подавить эту проблему для затронутых переменных или в строках, в которых они появляются?
извинения, если это было задано раньше, я уверен, что это должно было быть, но я не могу найти решение.
5 ответов:
JSHint подчиняется директивам на уровне функции, поэтому вы можете найти заключительную функцию и добавить к нему. Вот пример:
/*jshint camelcase: true */ var not_camel_case = 1; // Warns function example() { /*jshint camelcase: false */ var not_camel_case = 2; // Does not warn }
по словам JSHint Docs, вы можете сделать конфигурационный файл в том же каталоге под названием .jshintrc, или любой каталог до самого корневого каталога. Я просто установил мой, используя это:
{ "camelcase": false }
здесь есть множество других вариантов:http://jshint.com/docs/options/#camelcase
я помещаю имя свойства, поступающего из api, в отдельную строку. Например:
var defaultVenueAttributeKey = 'default_venue'; $location.path('map-' + map.id + '/venue-' + map.attributes[defaultVenueAttributeKey].value);
Это немного более подробно, но вы можете сгруппировать все имена свойств, поступающие из вашего API вместе, а затем это упрощает реагирование на изменение API.
принятый ответ
/*jshint camelcase: true */
не работает для меня. Я все еще получаю ошибки.
Я смотрю на docs и нашел это решение, которое сработало для меня:/*eslint camelcase: ["error", {properties: "never"}]*/