컴퓨터 과학 기초발행일 2022. 11. 15.원본 https://blog.naver.com/jword_/222929135361 ↗

[AI스쿨] ESLint란 무엇인가? (eslint설치,설정)

[AI스쿨] ESLint란 무엇인가? (eslint설치,설정) — #ESLint #eslint란 #eslint설치 #eslint설정 #AI스쿨 [AI스쿨 msa기반 java 백엔드 코스 중에 공부...

#Basic keyword#Naver Blog

#ESLint #eslint란 #eslint설치 #eslint설정 #AI스쿨

​

\[AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였습니다\]

학습법 이론

학습을 하기 이전, 명심해야할 학습법이 있다.

​

1.이해가지 않는다고 뒤돌아가 다시 보지 말 것

2.외우지 말라

=> 자주 봐서 외워짐을 당하라

=> 크롬을 통해 copy and paste하라

  1. 이해하는게 중요하다

=> 왜 생겨났는지?

=> 왜 사용하는지?

===> 응용이 가능해진다.

4.새로운 지식을 넣을땐 뇌를 비우자

​

ESLint란?

이미지

ESLint란?

vue js를 처음시작하는데 ESLint 관련오류가 계속생겨서 계속 고생을 했는데요. 구글링 해봐도 근본적인 문제해결이 되지않아 결국 ESLint가 무엇인지 세세하게 공부하는 시간을 가졌습니다.

​

ESLint는 ES와 Lint를 합친단어입니다.

​

ES는 EcmaScript의 약어로 Ecma기구에서 만든 Script즉 JavaScript 표준을 의미합니다. 이전글에서 배운 ES6도 이 ES의 한 종류이며 가장 최신버전입니다.

​

Lint는 에러가 있는 코드를 표시하는 것을 의미합니다. JavaScript 작성방식이 잘못되었다면 개발자로 하여금 제빠르게 수정이 가능하도록 개발을 도와주고 있습니다.

​

ESLint는 js코드의 오류를 잡아주는것과 더불어 js코드를 깔끔하게 만들어주는 기능도 수행합니다.

ESLint 설치방법

설치방법

for Windows

eslint --init

터미널에서 위 명령어로 설치가 가능한데, 만약 오류가 나온다면 아래 모듈을 먼저설치해보시기 바랍니다.

npm install eslint-cli​ npm install eslint​ --save-dev

이미지

설치 진행시나오는 설정이고 어려운 내용이 없어 읽어보시고 고르시면 될 것 같습니다. 모르시겠으면 위를 참고해주세요.

ESLint 설정방법 (.eslintrc.js)

eslint 설치가 모두 진행되면 아래 사진과 같이 .eslintrc.js 파일이 생성되는 것을 볼 수 있습니다. js객체 형식으로 되어있는 이 설정파일은 여러 설정 key값이 존재합니다. 몇가지 설정을 같이 공부해보겠습니다.

​

vue js cli를 통해 eslint를 다운받으면 해당 파일이 없을 수 있습니다. 이때는 그냥 파일명 똑같이적어서 만들어주시면됩니다.

이미지

root

ESLint를 설정할때는 여러개의 설정파일이 존재할 수 있습니다. 여러개의 프로잭트가 공존하는 파일인 경우에 설정파일이 여러개일 수 있는데요. ESLint는 현재대상 파일이 위치한 파일에 설정파일이 있는지 우선적으로 확인하고 없다면 상위 디렉토리까지 찾게됩니다.

​

이때 root를 주면 더이상 상위 디렉토리까지 검사하지 않습니다.공통설정과 부분설정을 관리할때 유용하게 사용됩니다.

​

plugins

plugin을 사용해 다른 사람이 만든 eslint 규칙을 가져올 수 있습니다. 종류는 다양하고 보통 여러 플러그인을 함께 사용합니다. 가져온 뒤에는 extends , rules 설정을 통해 사용할 수 있습니다.

​

extends

extends옵션을 통해 Google,Facebook,Airbnb 등 기업들이 만들어놓은 설정을 그대로 가져올 수 있습니다.

npm install eslint-config-airbnb
"extends": \[ "airbnb"\]

ESLint플러그인은 추천기능을 제공합니다.extends옵션은 이런 추천 설정을 받아올 수 있습니다.

​

rules

rules옵션을 사용하면 사용자가 직접규칙을 추가할 수 있습니다. extends옵션을 통해 가져온 규칙보다 우선시 적용됩니다.

​

env

javascript는 다양한 환경에서 실행될 수 있습니다. 각 환경마다 전역변수를 통해 접근이 가능한 고유객체가 존재합니다 .예를들어 브라우저에서 접근가능한 window는 node에서 접근이 불가합니다.

​

ESLint는 미리 선언하지 않는 변수에 대한 접근이 되지 않습니다. 그러므로 실행환경에서 기본적으로 제공되는 전역 객체에 대해 env속성을 통해 미리 설정할 수 있습니다.

"env": { "browser": true, "es2021": true },

parser , parserOptions

개발자가 작성하는 자바스크립트코드는 실제로 실행환경에서 돌아가는 코드와 다른경우가 많습니다. 예를들어 typescript,jsx와 같은 자바스크립트 확장 문법,Bable과 같은 트랜스파일러를 통한 최신문법으로 개발하는 경우가 그렇습니다.

​

Bable은 개발자가 항상 최신 자바스크립트로 코딩할 수 있도록 만들어줍니다.

​

개발자가 사용하는 언어와 ESLint가 인식하는 언어가 다르기 떄문에 parser, parseroption으로 맞춰줄 수 있습니다.

​

bable을 사용하는 경우 parser를 아래와 같이 설정할 수 있습니다.

"parser": "@babel/eslint-parser"

​