JSHint 설정
원문 : http://jshint.com/docs
JSHint 는 문법 오류를 잡는 툴입니다
이걸 왜 쓰냐면 아래의 코드가
console.log("hello world");
에러를 발생시키네요...
function.js 'console' is not defined.
흠..
바꿔야지
JSHint 메뉴얼에 있는 내용을 정리한번 해보겠습니다
1. JSHint 설정을 바꾸는 3가지 방법이 있습니다
1-1) --config 옵션을 사용해서 설정파일을 적용
ex) jshint --config myconfig hello.js
1-2) .jshintrc 파일을 만들면 자동으로 JSHint 는 이 파일을 가지고 설정을 셋팅합니다
1-3) package.json 파일에 적용하기
ex)
"jshintConfig": {
"unused": true
},
설정 파일 사용시 해당프로젝트의 루트디렉토리에 저장을 해야합니다
2. 설정파일은 JSON 형식으로 되어 있습니다
3. 지금까지 알려준 설정은 전체 프로젝트에 적용된다
예외적으로 특정 파일에 설정을 적용할려면
/* jshint undef: true, unused: true */
/* global MY_GLOBAL */
이렇게 해주면 됩니다
4. JSHint의 에러가 불필요한 경우 또는 보여줄 필요 없을때
jepi@jepi-VirtualBox:~/mytest$ jshint study/function.js
study/function.js: line 74, col 10, 'main' is defined but never used.
study/function.js: line 74, col 18, 'b' is defined but never used.
2 errors
위의 예 처럼 2개의 에러가 발생했다
JSHint는 verbose 옵션을 제공한다
jepi@jepi-VirtualBox:~/mytest$ jshint --verbose study/function.js
study/function.js: line 74, col 10, 'main' is defined but never used. (W098)
study/function.js: line 74, col 18, 'b' is defined but never used. (W098)
2 errors
뒤에 W098 값이 출력된다
해당 파일은 연 후 아래의 주석을 적용하면 에러가 발생하지 않는다
/* jshint -W098 */
verbose 로 실행시 E로 시작되면 자바스크립트 에러 W로 시작하면 WARNING 에러다
뭐 둘다 잡으면 좋지만 에러는 수정은 필수입니다