2016-09-15 1 views
21
$("#ID").hide(); 

프로젝트에 ESLint를 추가하십시오.

기호는 $입니다.

은 내가 오류 : [eslint] '$' is not defined. (no-undef)

.eslintrc.json :

{ 
"env": { 
    "browser": true, 
    "commonjs": true, 
    "es6": true 
}, 
"extends": [ 
    "eslint:recommended" 
], 
"parserOptions": { 
    "sourceType": "module" 
}, 
"plugins": [ 
    "dollar-sign", 
    "jquery" 
], 
"rules": {  
    "indent": [ 
     "error" , 
     "tab" 
    ], 
    "linebreak-style": [ 
     "error", 
     "windows" 
    ], 
    "quotes": [ 
     "error", 
     "double" 
    ], 
    "semi": [ 
     "error", 
     "always" 
    ], 
    "jquery/no-ajax": 2, 
    "jquery/no-animate": 2, 
    "jquery/no-attr": 2, 
    "jquery/no-bind": 2, 
    "jquery/no-class": 2, 
    "jquery/no-clone": 2, 
    "jquery/no-closest": 2, 
    "jquery/no-css": 2, 
    "jquery/no-data": 2, 
    "jquery/no-deferred": 2, 
    "jquery/no-delegate": 2, 
    "jquery/no-each": 2, 
    "jquery/no-fade": 2, 
    "jquery/no-filter": 2, 
    "jquery/no-find": 2, 
    "jquery/no-global-eval": 2, 
    "jquery/no-has": 2, 
    "jquery/no-hide": 2, 
    "jquery/no-html": 2, 
    "jquery/no-in-array": 2, 
    "jquery/no-is": 2, 
    "jquery/no-map": 2, 
    "jquery/no-merge": 2, 
    "jquery/no-param": 2, 
    "jquery/no-parent": 2, 
    "jquery/no-parents": 2, 
    "jquery/no-parse-html": 2, 
    "jquery/no-prop": 2, 
    "jquery/no-proxy": 2, 
    "jquery/no-serialize": 2, 
    "jquery/no-show": 2, 
    "jquery/no-sizzle": 2, 
    "jquery/no-slide": 2, 
    "jquery/no-text": 2, 
    "jquery/no-toggle": 2, 
    "jquery/no-trigger": 2, 
    "jquery/no-trim": 2, 
    "jquery/no-val": 2, 
    "jquery/no-wrap": 2, 
    "dollar-sign/dollar-sign": [ 
     2, 
     "ignoreProperties" 
    ] 
} 

당신은 내가 두 개의 플러그인을 추가 한 것을 볼 수 있습니다 eslint-plugin-dollar-sign 및 eslint - 플러그인 - jQuery를.

왜이 규칙이 작동하지 않습니까?

"dollar-sign/dollar-sign": [ 2, "ignoreProperties" ]

답변

60

당신은

"env": { 
    "browser": true, 
    "commonjs": true, 
    "es6": true, 
    "jquery": true 
}, 

$

누락이 활성화 jquery 환경 않고 글로벌로 선언되지 않습니다. 따라서 선언되지 않은 변수를 사용하고 있다는 메시지가 no-undef 오류가 발생합니다.

는 자바 스크립트 파일의 시작 부분에 주석으로 아래 줄을 추가

1

https://eslint.org/docs/user-guide/configuring#specifying-environments

당신은 당신의 자바 스크립트 파일 내부에 주석을 사용하여 환경을 지정할 수는 다음과 같은 형식을 사용합니다.

/*eslint-env jquery*/ 

eslinter는 jQuery를 사용하고 있다는 것을 알기 때문에 '$'에 정의되지 않은 값을 반환하지 않습니다.