programing

ESLint 달러($)가 정의되지 않았습니다.(정의되지 않음)

newsource 2023. 8. 8. 21:40

ESLint 달러($)가 정의되지 않았습니다.(정의되지 않음)

$("#ID").hide();

저는 제 프로젝트에 ESLint를 추가합니다.

기호를 제외하고 모든 것이 좋습니다.$.

오류가 발생합니다.[eslint] '$' is not defined. (no-undef)

나의.eslintrc.json(참고: 동일한 Javascript가 있을 때 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-$-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 */

사용자가 jQuery와 함께 작업하고 있음을 알 수 있기 때문에 eslinter는 '$'에 정의되지 않은 항목을 더 이상 던지지 않습니다.

다음 행을 js 파일의 맨 위에 추가할 수도 있습니다.

/* global $ */

"$" 또는 "varName"과 같은 다른 글로벌에 대한 경고를 방지하려면:

/* global varName */

.eslintrc.js

더하다

{
  "globals": {
    "$": true
  }
}

https://eslint.org/docs/user-guide/configuring#specifying-globals 을 참조하십시오.

"env": {..."jquery": true },

정말 도움이 됩니다.

언급URL : https://stackoverflow.com/questions/39510736/eslint-dollar-is-not-defined-no-undef