본문 바로가기

NodeJS/JSHint

JSHint 설정

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 에러다

뭐 둘다 잡으면 좋지만 에러는 수정은 필수입니다