주어진 한 줄에 대해 JSHint 경고를 억제하는 방법이 있습니까?


264

내 앱에 (단일) 케이스 eval가 사용 되었으며이 경우에만 JSHint 경고를 억제하고 싶습니다.

그것을 달성 할 수있는 방법이 있습니까? 구성, 마술 코멘트, ...?

답변:


465

예, 방법이 있습니다. 실제로 두 가지입니다. 201310 월 jshint는 다음과 같은 코드 블록을 무시하는 방법을 추가했습니다.

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.

다음과 같이 후행 주석이있는 단일 행을 무시할 수도 있습니다.

ignoreThis(); // jshint ignore:line

JSHint Sublime Text 2/3 플러그인을 사용하려는 경우 ST 패키지 폴더에서 jshint를 업그레이드해야합니다. (나는 특별히 JSHint Gutter와 함께 이것에 부딪쳤다)
Josh

7
특정 오류 만 무시할 수 있습니까? 예. 해당 특정 라인에서 maxlen은 여전히 ​​다른 오류를 감지합니다.
Jürgen Paul

4
에 대한 미덕을 부탁드립니다 // jshint ignore:line- 함께 잘 작동;(function() { // jshint ignore:line
케이티 lavallee

4
"무시"옵션은 더 이상 사용되지 않으며 일식에서 JSHint 통합 기능 버전 0.9.9를 사용하여 "잘못된 옵션"오류가 발생합니다. 같은 일을하는 다른 방법이 있습니까?
MidnightJava

2
무시하고 싶은 줄에 bad option: 'ignore'특정 옵션 을 사용하여 문제를 해결했습니다 . 필자의 경우 나는 if (x == null)null보다 같고 JSHint를 침묵 /* jshint eqnull:true */시키는 것과 동일한 기능으로 사용되기 때문에 무시하고 싶었 if습니다.
Nate

102

"사악한"대답은 나를 위해 작동하지 않았습니다. 대신 JSHints docs 페이지 에서 권장되는 것을 사용했습니다 . 발생 된 경고를 알고 있으면 코드 블록에 대해 경고를 끌 수 있습니다. 예를 들어 낙타 사례 함수를 사용하지 않는 타사 코드를 사용하고 있지만 JSHint 규칙에 따라야 경고가 발생했습니다. 침묵시키기 위해 나는 다음과 같이 썼다.

/*jshint -W106 */
save_state(id);
/*jshint +W106 */

15
경고 번호는 어떻게 알 수 있습니까?
11684

3
jshint를 실행하고 처음에 오류가 발생하면 숫자가보고됩니다.
tollmanz

5
미안 의견을 남겼으므로 문서를 확인한 후 게시물을 올리지 않았습니다. --verbose경고 번호를 얻기 위해 명령에 추가 할 필요는 없습니다 .
11684

9
또는 이 관련 질문에 대한 답변messages.js 확인을 제안 합니다 . WebStorm을 사용하기 때문에 이것이 매우 유용하다는 것을 알았습니다.
Michael Jess

3
모든 경고, 오류 및 정보 번호는 여기에서 찾을 수 있습니다 : github.com/jshint/jshint/blob/master/src/messages.js
앤더슨 Arboleya을

37

JSHint 문서 에서 볼 수 있듯이 함수 또는 파일마다 옵션을 변경할 수 있습니다 . 귀하의 경우 파일에 주석을 추가하거나 eval다음 을 사용하는 함수에 더 로컬로 주석을 넣으십시오 .

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}

fwiw, 이것은 2.1.9에서 나에게 효과가
없었지만
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.