article thumbnail image
Published 2022. 12. 8. 22:38
728x90
'변수명' is defined but never used. eslint(@typescript-eslint/no-unused-vars)'

 

❓상황

처음 eslint 설정할때, 사용되지 않는 변수명이 있다면 typescript 파일 컴파일시 에러를 띄워주도록 했으나, 불가피하게 사용되지 않는 변수명이 있더라도 에러를 띄우지 않도록 @typescript-eslint/no-unused-vars의 값을 0으로 설정했음에도 에러가 발생했다.

 

🔎 원인 파악

알고보니 eslint 뿐만아니라, tsconfig.ts 파일에도 사용되지 않는 변수가 있다면 에러를 띄우도록 설정을 했다는 것을 뒤늦게 알게 되었다.

 

✨ 해결 방법

noUnusedLocals를 false로 변경

noUnusedLocals: false로 바꾼다

 

noUnusedLocals를 false로 변경하니 오류나 warning이 나오지 않아 초기 구현할 때 편리하게 개발을 진행할 수 있어서 좋았다.

그러나, noUnusedLocals를 true로 하는 것이 권장되는 규칙이므로, 초기에만 false로 사용하고 나중에 윤곽이 잡히게 되면 noUnusedLocals: true, no-unused-vars: 0, @typescript-eslint/no-unused-vars: 2를 기존에 세팅된 값으로 되돌리는 것을 잊지말자!

* no-unused-vars: 0를 세팅하는 이유는 @typescript-eslint/no-unused-vars와 중복되어 오작동이 발생하는 것을 방지하기 위해, no-unused-vars는 끄고 @typescript-eslint/no-unused-vars는 켜는 것이다.
복사했습니다!