$("#ID").hide();
내 프로젝트에 ESLint를 추가합니다.
symbol을 제외한 모든 것이 괜찮습니다 $
.
오류가 발생합니다. [eslint] '$' is not defined. (no-undef)
my .eslintrc.json
(참고 : 동등한 자바 스크립트가있는 경우 jquery 함수를 허용하지 않도록 설정된 추가 규칙 이 있습니다.)
{
"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-plugin-jquery의 두 가지 플러그인을 추가 한 것을 볼 수 있습니다 .
이 규칙이 작동하지 않는 이유는 무엇입니까?
"dollar-sign/dollar-sign": [
2,
"ignoreProperties"
]
답변
너는 그리워하고있다
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"jquery": true
},
$
jquery
환경이 활성화 되지 않은 전역으로 선언되지 않습니다 . 그 때문에 no-undef
선언되지 않은 변수를 사용하고 있다는 오류 가 발생합니다 .
답변
https://eslint.org/docs/user-guide/configuring#specifying-environments
JavaScript 파일 내부의 주석을 사용하여 환경을 지정할 수 있습니다. 다음 형식을 사용하십시오.
JavaScript 파일의 시작 부분에 주석으로 아래 줄을 추가하십시오.
/* eslint-env jquery */
eslinter는 jQuery로 작업하고 있음을 알기 때문에 ‘$’에 정의되지 않은 던지기를 중지합니다.
답변
이 줄을 js 파일 맨 위에 추가 할 수도 있습니다.
/* global $ */
“$”또는 “varName”과 같은 다른 전역에 대한 경고를 방지하려면 :
/* global varName */
답변
에 .eslintrc.js
더하다
{
"globals": {
"$": true
}
}
참조 https://eslint.org/docs/user-guide/configuring#specifying-globals를
답변
js 파일 상단에 다음 줄을 추가하십시오.
/* eslint-env es6 */
/* eslint-disable */
//Function expression to select elements