ESLint의 "no-undef" 규칙이 언더스코어 사용을 정의되지 않은 변수라고 부르고 있습니다.
빌드 툴로서 Grunt를 사용하고, 작업중인 앱의 보풀 툴로서 ESLint를 사용하고 있습니다.Underscore Node 패키지도 사용하고 있으며, 앱에서 사용하고 있습니다.안타깝게도 ESLint를 코드로 실행하면 _가 다음 행에서 정의되지 않은 변수라고 생각됩니다.
return _.pluck(objects, nameColumn);
다음 오류가 발생합니다.
78:21 error "_" is not defined no-undef
ESLint에 대해 no-undefault 규칙을 비활성화하지 않는 것이 좋습니다.또한 언더스코어 플러그인을 설치하려고 했는데도 이 오류가 나타납니다.이걸로 뭘 해볼지 생각나는 사람이 있다면 정말 고맙겠다!
이 문제를 해결하는 데 도움이 될 만한 추가 정보가 있으면 알려주세요!
이 문제를 해결하는 방법에 대해서는 공식 문서를 참조하십시오.
선언되지 않은 변수에 대한 참조는 변수가 명시적으로 언급되지 않는 한 경고를 발생시킵니다.
/*global ...*/
comment 또는 컨피규레이션파일의 키로 지정합니다.
가장 쉬운 수정은 다음과 같이 추가하는 것입니다.
/* global _ */
파일 맨 위에 있습니다.
또는 변수를 덮어쓸 수 없도록 변수를 읽기 전용으로 명시적으로 지정하는 것이 좋습니다.
/* global _:readonly */
그러나 새로운 js 파일마다 이 작업을 수행해야 하므로 번거로울 수 있습니다.언더스코어를 자주 사용하는 경우, 예를 들어 다음과 같이 파일에 글로벌을 추가하는 것이 좋습니다.
{
"globals": {
"_": "readonly"
}
}
그리고 이것을 로 저장해 주세요..eslintrc
프로젝트 루트 또는 선택적으로 사용자 홈 디렉토리로 이동합니다.후자는 추천하지 않는다고 하는 사람도 있습니다만, 편리할 수도 있습니다만, 거기에 있는 것을 기억해 둘 필요가 있습니다.
위의 규칙에 대한 설명:"_": "readonly"
(과거에는"_": false
, 현재는 폐지되었습니다)라는 이름의 변수가_
eslint에게 이 변수는 글로벌하게 정의되어 있으며 어떤 변수도 내보내지 않음을 알립니다.no-undef
이 변수의 에러입니다.@sebastian이 지적했듯이"readonly"
(또는false
- 권장되지 않음)은 변수를 덮어쓸 수 없음을 의미하므로 코드는_ = 'something else'
에러가 발생합니다.no-global-assign
그 대신 를 사용해 주세요."_": "writable"
(또는"_": true
- 권장되지 않음)은 값을 다시 지정할 수 있으며 앞에서 설명한 오류가 발생하지 않음을 의미합니다.
이는 글로벌 하십시오.아직 그림자를 그릴 수 있고 에슬린트는 아무 말도 안 할 거야.를 들어, 이런 은 '어느 정도', '어느 정도'는 나오지 않습니다.no-global-assign
:
const _ = 'haha I broke your _'
또는 함수 인수 이름으로 사용합니다.
function (_) {
console.log(_, 'might not be the _ you were looking for')
}
eslintrc.json에서의 테스트에 joke를 사용하는 경우
"env":{
"jest":true
}
언급URL : https://stackoverflow.com/questions/34820817/eslints-no-undef-rule-is-calling-my-use-of-underscore-an-undefined-variable
'programing' 카테고리의 다른 글
Tymeleaf 형식 지정 날짜 (0) | 2023.03.02 |
---|---|
속성별 AngularJS 정렬 (0) | 2023.03.02 |
스프링 MVC를 사용하여 생성된 PDF 반환 (0) | 2023.02.25 |
HTTP POST로 파일을 다운로드 할 수 있습니까? (0) | 2023.02.25 |
컨트롤러, 서비스 및 저장소 패턴에서의 DTO 사용 방법 (0) | 2023.02.25 |