[Vite] TypeScript 기반 React 프로젝트에 Prettier 추가하기

2024-04-22 hit count image

Vite를 사용하여 생성한 TypeScript 기반 React 프로젝트에 Prettier를 추가하여 코드 포멧을 일관성있게 관리하는 방법에 대해서 알아보도록 하겠습니다.

개요

Prettier는 코드 포멧터(Code formatter)로써, 코드의 스타일을 일관성있게 관리할 수 있도록 도와줍니다.

이번 블로그 포스트에서는 Vite를 사용하여 생성한 TypeScript 기반 React 프로젝트에 Prettier를 설정하여 코드 포멧을 일관성있게 관리하는 방법에 대해서 알아보도록 하겠습니다.

블로그 시리즈

이 블로그 포스트는 시리즈로 제작되었습니다. 다음은 Vite의 시리즈 리스트입니다.

Prettier 설치

Vite를 사용하여 생성한 TypeScript 기반 React 프로젝트에 Prettier를 사용하기 위해서는 Prettier를 설치할 필요가 있습니다. 다음 명령어를 실행하여 Prettier를 설치합니다.

npm install --save-dev prettier
# yarn add -D prettier

Prettier 설정

설치한 Prettier를 사용하기 위한 Prettier를 설정할 필요가 있습니다. .prettierrc 파일을 생성하고 다음과 같이 수정합니다.

{
  "semi": false,
  "singleQuote": true,
  "jsxSingleQuote": true,
  "printWidth": 100
}
  • "semi": false: 마지막 세미콜론(;)을 사용하지 않습니다.
  • "singleQuote": true: 기본적으로 작은 따옴표(')를 사용합니다.
  • "jsxSingleQuote": true: JSX 문법에서도 기본적으로 작은 따옴표(')를 사용합니다.
  • "printWidth": 100': 한 줄에 작성할 수 있는 문자 개수를 100개로 제한합니다.

Prettier는 팀과 프로젝트에 따라 다양한 설정이 가능합니다. 다음 링크를 통해 설정이 가능한 옵션을 확인할 수 있습니다.

스크립트 설정

이렇게 설정한 Prettier를 사용하기 위해 package.json 파일을 열고 다음과 같이 스크립트를 추가합니다.

"scripts": {
  ...
  "format": "prettier --check --ignore-path .gitignore .",
  "format:fix": "prettier --write --ignore-path .gitignore ."
},

--ignore-path 옵션으로 .gitignore 파일을 선택함으로써, Git으로 관리하지 않는 파일들은 검사하지 않도록 설정할 수 있습니다.

실행

이제 다음 명령어를 사용하여 앞에서 설정한 Prettier의 내용으로 코드를 검사합니다.

npm run format
# yarn format

만약, 설정한 Prettier 옵션에 위반이 되는 파일이 있으면, 다음과 같이 표시됩니다.

Checking formatting...
[warn] .prettierrc.js
[warn] pages/api/hello.ts
[warn] Code style issues found in the above file(s). Forgot to run Prettier?

다음 명령어를 실행하면, 위반된 파일을 자동으로 수정할 수 있습니다.

npm run format:fix
# yarn format:fix

모든 파일이 수정되었다면, 다시 다음 명령어를 실행하여 검사합니다.

npm run format
# yarn format

모든 파일이 잘 수정되었다면, 다음과 같은 결과가 표시됩니다.

Checking formatting...
All matched files use Prettier code style!

완료

이번 블로그 포스트에서는 Vite를 사용하여 생성한 TypeScript 기반 React 프로젝트에 Prettier를 설정하는 방법에 대해서 알아보았습니다. 여러분도 Prettier를 설정하여 일관된 포멧으로 코드를 작성해 보시기 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts