- Today
- Total
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- https
- mongoose
- double quote
- sequelize
- Find
- async
- Express
- clipBehavior
- certbot
- RDS
- AWS
- Nodejs
- mongodb
- atlas
- flutter
- findByIdAndDelete
- til
- moment
- TypeScript
- EC2
- await
- nginx
- TailwindCSS
- JavaScript
- jsonwebtoken
- single quote
- css
- MYSQL
- wil
- Node.js
기억 휘발 방지소
코드 포매터(Formatter)와 린터(Linter) 본문
코드 포매터(Formatter)로는 대표적으로 Prettier가 있습니다. 많이들 사용해봤을거라고 생각이 드는데요.
Prettier가 하는 역할은 우리가 작성한 코드를 정해진 규칙대로 코드 스타일을 변환해주는 도구입니다.
린터(Linter)는 버그가 날 수 있을 만한 코드, 스타일 오류, 의심스러운 구조 등을 찾아서 잡아주는 도구입니다.
대표적으로는 ESLint가 있습니다.
📌 Prettier 설정하기
제가 한 설정을 기준으로 작성하였습니다. IDE는 JetBrains사의 WebStorm을 사용합니다.
npm i -D prettier
그리고 .prettierrc 파일을 하나 만들고 json 파일을 작성하는 것 처럼 규칙들을 작성하면 됩니다.
저는 간단하게 두 가지 규칙만 넣어봤습니다.
{
"semi": true,
"singleQuote": true,
}
파일 > 설정에 들어와서
Prettier 패키지에는 위에서 글로벌로 설치한 prettier를 넣으면 되고
'저장 시'를 체크하고 확인을 누르면 됩니다.

📌 ESLint
자바스크립트에서 사용하는 린터입니다.
설치는 다음과 같습니다.
npm i -D eslint
우리가 사용할 규칙들을 작성하기 위한 파일(.eslintrc.js)을 하나 만들어줍니다.
// .eslintrc.js
module.exports = {};
그리고 WebStorm 설정에 들어와서 'ESLint 패키지'와 '저장 시 eslint --fix 실행'를 체크해줍니다.

이제 .eslintrc.js 파일에 규칙을 넣어주면 되는데 이미 잘 만들어진 규칙이 존재합니다.
저는 airbnb에서 만들어놓은 스타일 가이드를 사용했습니다. airbnb/javascript
GitHub - airbnb/javascript: JavaScript Style Guide
JavaScript Style Guide. Contribute to airbnb/javascript development by creating an account on GitHub.
github.com
npm으로 설치를 먼저 해줘야합니다.
npm i -D eslint-config-airbnb-base eslint-plugin-import eslint-config-prettier
그리고 .eslintrc.js에 extends에 추가를 해주면 됩니다.
module.exports = {
extends: ['airbnb-base', 'prettier'],
};
prettier와 충돌이 나는 일이 있기 때문에 eslint-config-prettier를 설치 후 extends에 prettier를 추가해주면 eslint는 prettier가 고친 것에 대해 에러를 내지 않도록 해줍니다.
👉 잘 작동하는지 확인해보겠습니다.
임의의 변수 하나를 생성했는데 바로 ESLint에서 에러를 발생시켰습니다.

👉 규칙을 해제시킬 수도 있습니다.
/* eslint-disable-next-line no-unused-vars */
const num = 100;
규칙을 위반한 코드 위에 'eslint-disable-next-line' 을 추가해주면 됩니다.
근데 이렇게 하면 모든 규칙을 해제하기 때문에 뒤에 규칙이름을 적어주면 해당 규칙에만 해제시켜줍니다!
'Web > Node.js' 카테고리의 다른 글
| [Node.js] String의 Bytes Length 구하기 (1) | 2022.05.20 |
|---|---|
| Express + Nginx (with 윈도우) (0) | 2022.04.27 |
| node-schedule을 사용한 작업 스케줄링 (0) | 2022.03.10 |
| Node.js와 AWS RDS 연동 with Express, Prisma (0) | 2022.02.09 |
| [Node.js] moment.js로 날짜 표시하기 (0) | 2022.01.04 |