code

JSHint에서 camelcase 변수 무시

codestyles 2020. 11. 20. 08:59
반응형

JSHint에서 camelcase 변수 무시


JShint 및 다음 코드 줄에 약간의 문제가 있습니다.

$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);

오류가 발생합니다. Identifier 'default_venue' is not in camel case.이것은 일반적으로 문제가되지 않지만 변수 이름을 제어 할 수 없습니다. JSON API를 통해 가져옵니다.

영향을받는 변수 나 변수가 나타나는 줄에 대해이 문제를 억제 할 수있는 방법이 있습니까?

이것이 이전에 요청 되었다면 사과드립니다. 그럴 것이라고 확신하지만 해결책을 찾을 수 없습니다.


JSHint는 함수 수준에서 지시문을 따르므로 둘러싸는 함수를 찾고 여기에 camelcase옵션을 추가 할 수 있습니다. 예를 들면 다음과 같습니다.

/*jshint camelcase: true */

var not_camel_case = 1; // Warns

function example() {
  /*jshint camelcase: false */
  var not_camel_case = 2; // Does not warn
}

에 따르면 JSHint 문서 도구 , 당신은 전화 같은 디렉토리에 설정 파일 만들 수 있습니다 .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 */은 저에게 효과적이지 않았습니다. 여전히 오류가 발생했습니다.

나는 문서 를보고 나를 위해 일한이 솔루션을 찾았습니다.

/*eslint camelcase: ["error", {properties: "never"}]*/

이런 식으로 시도해보세요. 사악하지만 효과가 있습니다.

var foo;
$.each( jsonArray, function ( i, value ) {
    if ( i === 'array_element' ) {
        foo = value;
    }
});

참고 URL : https://stackoverflow.com/questions/19448446/ignore-camelcase-variable-in-jshint

반응형