
โจ Prettier๋
Prettier๋ ์ฝ๋ ์คํ์ผ์ ์๋์ผ๋ก ์ ๋ฆฌํด์ฃผ๋
์๊ฒฌ ์๋ (Opinionated) ์ฝ๋ ํฌ๋งทํฐ์ด๋ค.
์ฌ๋๋ง๋ค ๋ค์ฌ์ฐ๊ธฐ, ์ธ๋ฏธ์ฝ๋ก , ๋ฐ์ดํ ๋ฑ ์คํ์ผ์ด ๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์
Prettier๊ฐ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํด์ฃผ๋ ์ญํ ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
๐ค ์ ํ์ํ ๊น
1๏ธโฃ ํ ํ์ ์์ ์ฝ๋ ์คํ์ผ ์ถฉ๋์ ๋ฐฉ์งํ ์ ์๋ค.
2๏ธโฃ ์ฝ๋ ๋ฆฌ๋ทฐ ์ ์คํ์ผ์ ๋ํ ์ฝ๋ฉํธ๋ฅผ ์ค์ด๊ณ ๋ก์ง์๋ง ์ง์คํ ์ ์๋ค.
3๏ธโฃ ์๋ํ๋ ํฌ๋งทํ ์ผ๋ก ์ผ๊ด์ฑ ์๋ ์ฝ๋๋ฅผ ์ ์งํ ์ ์๋ค.
4๏ธโฃ CI / CD ์ ์ฝ๋ ์คํ์ผ ๊ฒ์ฌ๋ฅผ ์ฐ๋ํ ์ ์๋ค.
๐ป Prettier ์ค์น ๋ฐ ์ ์ฉ ๋ฐฉ๋ฒ
1๏ธโฃ ์ค์น
pnpm์ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ
pnpm add -D prettier
npm์ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ
npm install --save-dev prettier
2๏ธโฃ .prettierrc ์์ฑ
ํ๋ก์ ํธ ๋ฃจํธ์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ค์ ํ์ผ์ ์์ฑํด์ค๋ค.
touch .prettierrc
3๏ธโฃ ์ถ์ฒ ์ค์ ์์
{
"semi": true, // ๋ฌธ์ฅ ๋์ ์ธ๋ฏธ์ฝ๋ก ๋ถ์ด๊ธฐ
"singleQuote": true, // ํ๋ฐ์ดํ ์ฌ์ฉ
"tabWidth": 2, // ํญ ๋๋น ์ค์
"trailingComma": "all", // ๋ง์ง๋ง ์์์ ์ผํ
"bracketSpacing": true, // ์ค๊ดํธ ์ฌ์ด์ ๊ณต๋ฐฑ
"arrowParens": "avoid" // ํ์ดํ ํจ์ ๊ดํธ ์ฌ์ฉ ์ฌ๋ถ
}
โ VS Code์์ Prettier ์๋ ์ ์ฉ ์ค์ ๋ฐฉ๋ฒ
1๏ธโฃ Prettier ํ์ฅ ์ค์นํ๊ธฐ
2๏ธโฃ settings.json์ ์๋์ ์ค์ ์ถ๊ฐํ๊ธฐ
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
๐ settings.json ์์น

vs code ์ผ์ชฝ ํ๋จ์ ๋ณด์ด๋ ์ค์ ์์ด์ฝ์ ํด๋ฆญํ ํ,
์ค์ ์ ํด๋ฆญํ๋ฉด,

์ด๋ฐ ํ๋ฉด์ด ๋ณด์ด๋๋ฐ,
์ฌ๊ธฐ์ ์ฐ์ธก ์๋จ์ ์๋ ์ฒดํฌ ํ์๋ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด
settings.json ํ์ผ์ด ๋์จ๋ค.
๐ ์ฐธ๊ณ ๋ช ๋ น์ด
pnpx prettier --check . // ํ์ฌ ์ฝ๋๊ฐ Prettier ์คํ์ผ์ ๋ฐ๋ฅด๋์ง ํ์ธ
pnpx prettier --write . // ์คํ์ผ์ด ์ด๊ธ๋ ํ์ผ ์๋ ํฌ๋งทํ
โ .prettierignore๋
.prettierignore๋ ๋ง ๊ทธ๋๋ก Prettier๊ฐ ๋ฌด์ํด์ผ ํ ํ์ผ ๋ฐ ํด๋๋ฅผ ์ง์ ํ๋ ํ์ผ๋ก,
Git์ .gitignore์ ๋น์ทํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ๊ฒฐ๊ณผ๋ฌผ (coverage/)์ด๋
ํจํค์ง ๋งค๋์ ๊ฐ ๋ง๋ pnpm-lock.yaml ๊ฐ์ ํ์ผ์
๊ตณ์ด ํฌ๋งทํ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์
์ด๋ฐ ํ์ผ๋ค์ prettier ์ฒดํฌ์์ ์ ์ธํด์ฃผ๊ธฐ ์ํด์ ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ด๋ค.
๐ป .prettierignore ๋ง๋๋ ๋ฐฉ๋ฒ
1๏ธโฃ ์์ฑ
touch .prettierignore
2๏ธโฃ ๋ณดํต ํฌํจํ๋ ๋ด์ฉ
# ๋น๋ ํ์ผ
dist/
build/
# ํ
์คํธ ๊ฒฐ๊ณผ
coverage/
# ํ๊ฒฝ ํ์ผ
.env*
# ํจํค์ง ๋ฝ ํ์ผ
pnpm-lock.yaml
package-lock.json
'๐ป๊ณต๋ถ ๊ธฐ๋ก > ๐ Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Frontend] Mock์ด๋ (0) | 2025.06.14 |
|---|---|
| [Frontend] ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ - Testing Library & Jest (2) | 2025.06.14 |
| [Frontend] ํจํค์ง ๋งค๋์ ์ ๋์ ๊ณผ์ (2) | 2025.06.04 |
| [Frontend] ํจํค์ง ๋งค๋์ (1) | 2025.06.03 |
| [Frontend] ๋ ๋๋ง์ 3๊ฐ์ง ๋ฐฉ์: CSR, SSR, SSG (2) | 2025.06.01 |