주어진 한 줄에 대해 JSHint 경고를 억제하는 방법이 있습니까? 경우에만 JSHint 경고를 억제하고 싶습니다. 그것을 달성

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

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



답변

예, 방법이 있습니다. 실제로 두 가지입니다. 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


답변

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

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


답변

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

/*jshint evil:true */

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


답변