2013-06-18 2 views
0

나는이 각도 응용 프로그램에 다음 코드 :JSHint 체인 방법은 호출

'use strict'; 

angular.module('fooApp') 
    .controller('FooCtrl', function ($scope) { 

    }); 

이 코드에 JSHint (4 들여 쓰기 세트)를 실행할 때, 나는 다음과 같은 오류 얻을 :

[L6:C5] W015: Expected '}' to have an indentation at 1 instead at 5. 
    }); 

체인 들여 쓰기를 유지하도록 JSHint를 얻으려면 어떻게해야합니까?

'use strict'; 

angular.module('fooApp') 
    .controller('FooCtrl', function ($scope) { 
     $scope.foo = {}; 
    }); 

그런 다음이 JSHint을 통과 않습니다

업데이트 나는이 같은 FooCtrl 함수에 몸을 추가하면 것을 발견했다. 왜 그런지 알아?

답변

2

나는 그것을 할 방법이 없다고 생각합니다. JSHint의 공백 검사는 상당히 정적이다. 몇 가지 설정을 추가 할 수있는 공개적인 현상금이 있지만 아무 것도 작동하지 않는 것 같습니다 (적어도 상황에 따라).

https://github.com/jshint/jshint/issues/28

당신은 그것을 무시하거나 공백 체크를 해제해야 하나.

+0

'FooCtrl' 함수에 본문을 추가하면 JSHint 검사를 통과하는 것으로 나타났습니다 ... 이유는 모르겠습니다. – cdmckay

+0

JSHint 또는 JSLint를 사용하지 않지만 콜백 함수에 특별한 규칙이 있다고 생각합니다. 함수 본문이 없으면 JSHint는 아마 콜백 함수로 인식하지 못합니다. – GJK

1

간단히 말하면 다음과 같습니다. 설정 파일에서 모든 들여 쓰기 검사를 제거하거나 crockford의 추천과 일치시킵니다. 더 유연한 규칙을 제공하는 것에 대해서는 open bug이 있지만 구현해야합니다.

JSHint에 코드를 제출하면 공백을 검사하는 데보다 유연한 방법을 구현하기가 어려울 것입니다. 그것을 확인해야하는 경우가 많이 있다는 것을 제외하고는 ... 주된 문제는 들여 쓰기 기본 설정을 미세 조정할 수있는 지능적인 방법을 찾는 것입니다.

+0

질문이 업데이트되었는지 확인하십시오. – cdmckay

+0

이것은 jshint의 github에 대해보고 할 수있는 버그로 간주 될 수 있다고 생각합니다. – zmo