전역 창 객체에 속성을 할당하고 있지만 eslint를 실행하면 다음과 같은 결과가 나타납니다.
“창”이 정의되지 않았습니다
나는 이것을 eslint 문서에서 본다 :
다음은 테스트중인 규칙을 트리거하지 않아야하는 코드의 전역 변수로 window를 정의합니다.
valid: [
{
code: "window.alert()",
globals: [ "window" ]
}
]
“window”를 전역 변수로 허용하도록 eslint를 갖도록 package.json 파일에 이와 같은 것을 추가하려고 시도했지만 뭔가 잘못해야합니다. 문서에서 별도의 파일에서 이와 같은 작업을 수행해야 할 것 같지만 package.json 파일에서 허용되는 전역 변수를 정의하는 방법이 있습니까?
답변
environment: browser
를 포함 하는 내장 이 있습니다 window
.
예 .eslintrc.json
:
"env": {
"browser": true,
"node": true,
"jasmine": true
},
자세한 정보 : http://eslint.org/docs/user-guide/configuring.html#specifying-environments
또한 아래 의 package.json
chevin99 의 답변을 참조하십시오 .
답변
이 페이지에서 찾았습니다 : http://eslint.org/docs/user-guide/configuring
package.json에서는 다음과 같이 작동합니다.
"eslintConfig": {
"globals": {
"window": true
}
}
답변
.eslintrc
프로젝트 루트에 추가하십시오 .
{
"globals": {
"document": true,
"foo": true,
"window": true
}
}
답변
귀하의 .eslintrc.json는 아래의 텍스트를 포함해야합니다.
이런 식으로 ESLint는 전역 변수에 대해 알고 있습니다.
{
"env": {
"browser": true,
"node": true
}
}
답변
그가 인라인 버전을 요구하지 않는다는 것을 알고 있습니다. 그러나이 질문에 거의 100k 방문이 있었고 여기를 찾고 있었으므로 다음 동료 코더를 위해 여기에 남겨 두겠습니다.
ESLint가 --no-inline-config
플래그 와 함께 실행되지 않는지 확인하십시오 (이것이 익숙하지 않다면 사용하는 것이 좋습니다). 그런 다음 코드 파일에 이것을 작성하십시오 (명확성과 규칙을 위해 파일 위에 작성되었지만 어디서나 작동합니다).
/* eslint-env browser */
이는 ESLint에게 작업 환경이 브라우저라는 것을 알려주므로 이제 브라우저에서 사용할 수있는 것을 알고 그에 따라 조정합니다.
많은 환경 이 있으며 인라인과 같이 동시에 둘 이상을 선언 할 수 있습니다.
/* eslint-env browser, node */
거의 항상 특정 환경을 사용하는 경우 ESLint의 구성 파일에서 설정 하고 잊어 버리는 것이 가장 좋습니다 .
에서 자신의 문서 :
환경은 사전 정의 된 전역 변수를 정의합니다. 사용 가능한 환경은 다음과 같습니다.
browser
-브라우저 전역 변수.node
-Node.js 전역 변수 및 Node.js 범위.commonjs
-CommonJS 전역 변수 및 CommonJS 범위 지정 (Browserify / WebPack을 사용하는 브라우저 전용 코드에 사용).shared-node-browser
-노드와 브라우저에 공통 인 글로벌.[…]
환경 외에도 원하는 것을 무시할 수 있습니다. 사용에 대해 경고 console.log()
하지만 경고를 원하지 않는다면 인라인하십시오.
/* eslint-disable no-console */
최상의 코딩 방법 을 위해 권장되는 규칙을 포함하여 모든 규칙 목록을 볼 수 있습니다 .
답변
Angular 를 사용하는 경우 다음을 사용하여 얻을 수 있습니다.
"env": {
"browser": true,
"node": true
},
"rules" : {
"angular/window-service": 0
}