본문 바로가기

개발

Next.js 시작하기 - 처음 배우는 개발자를 위한 완벽 가이드

반응형

1. Next.js란 무엇인가?

Next.js는 React 기반 프레임워크로, 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 클라이언트 사이드 렌더링(CSR) 등 다양한 렌더링 방식을 지원합니다. React의 단점을 보완하고, SEO 최적화와 성능 개선에 특화되어 있어 최근 프론트엔드 개발자들 사이에서 큰 인기를 끌고 있습니다.

2. Next.js를 왜 배워야 할까?

기존의 React 프로젝트는 SEO와 초기 로딩 속도에서 한계가 있었지만, Next.js는 이를 해결할 수 있는 SSR 기능과 이미지 최적화, 파일 기반 라우팅 등의 강력한 기능을 제공합니다. 실제로 많은 기업들이 퍼포먼스 향상과 유지보수의 효율성을 이유로 Next.js를 도입하고 있으며, 블로그, 포트폴리오, 이커머스 사이트 등 다양한 분야에 활용되고 있습니다.

3. 개발 환경 준비하기

Next.js를 시작하려면 먼저 개발 환경을 준비해야 합니다.

- Node.js 설치: [Node.js 공식 사이트](https://nodejs.org)에서 LTS 버전을 설치하세요.
- 코드 편집기 추천: VSCode(Visual Studio Code)가 가장 널리 사용되며, 다양한 확장 기능을 지원합니다.
- 패키지 매니저 선택: npm, yarn, pnpm 중 선택 가능합니다. 특히 pnpm은 빠른 속도와 효율적인 저장 방식으로 최근 각광받고 있습니다.

4. Next.js 설치 및 프로젝트 생성

Next.js 설치는 매우 간단합니다. 아래 명령어를 터미널에 입력하면 설치가 시작됩니다:

npx create-next-app@latest

혹은 pnpm을 사용할 경우:

pnpm create next-app

설치 과정에서는 다음과 같은 설정 옵션을 선택할 수 있습니다:

  • TypeScript 사용 여부: 정적 타입 지원
  • ESLint 설정: 코드 품질 검사 도구
  • Tailwind CSS 사용: 스타일링 프레임워크
  • src 디렉토리 사용: 구조화된 코드 구성
  • App Router 사용: 최신 라우팅 방식 (권장)
  • 테스트 도구 구성: Jest 등 선택 가능

설치가 완료되면, 폴더 구조는 아래와 같이 구성됩니다:

my-app/
├── app/ 또는 pages/       # 라우팅을 담당하는 디렉토리 (선택 옵션에 따라 다름)
├── public/                # 정적 파일(이미지, 폰트 등) 저장
├── styles/                # CSS 또는 Tailwind 파일 저장
├── node_modules/          # 의존성 라이브러리 저장
├── .eslintrc.json         # 코드 품질 검사 설정
├── next.config.js         # Next.js 설정 파일
├── package.json           # 프로젝트 메타 정보 및 스크립트
└── tsconfig.json          # TypeScript 설정 (선택 시)

5. 첫 페이지 만들기

Next.js는 파일 기반 라우팅을 제공합니다. pages/index.tsx 또는 app/page.tsx를 수정하면 첫 화면이 바로 바뀝니다.

예시:

// pages/index.tsx
export default function Home() {
  return <h1>Welcome to My First Next.js App!</h1>;
}

라우팅 개념:

  • pages/index.tsx → 루트 경로 /
  • pages/about.tsx → /about 페이지 자동 생성

※ 개발 서버 실행하기

프로젝트 루트 폴더에서 아래 명령어를 실행하세요:

pnpm dev

또는:

npm run dev
# 또는
yarn dev

이후 브라우저에서 http://localhost:3000으로 접속하면 수정된 페이지가 바로 반영됩니다.

6. 패키지 매니저 비교: pnpm vs npm vs yarn

패키지 매니저는 프로젝트 의존성 관리를 위한 도구입니다. 그 중에서도 pnpm은 다음과 같은 장점을 가지고 있습니다:

설치 속도 ✅ 매우 빠름 ❌ 느림 ✅ 빠름
디스크 사용량 ✅ 효율적 (중복 제거) ❌ 동일 패키지 중복 저장 ⭕ 보통
Node Modules 처리 ✅ 하드링크 방식 ❌ 중복 설치 ⭕ 전통적 방식
워크스페이스 관리 ✅ 매우 유리 ⭕ 제한적 ✅ 우수

항목 pnpm npm yarn

실무에서는 많은 모듈을 관리해야 하므로 pnpm 사용이 특히 유리합니다. 단, npm과의 호환성 문제로 인해 레거시 프로젝트에서는 주의가 필요할 수 있습니다.

7.  마무리

Next.js는 강력하면서도 배우기 쉬운 프레임워크입니다. 다음에는 Next.js 공식사이트의 초보자를 위한 학습 과정(https://nextjs.org/learn)을 참고하여, 대시보드를 만들어보는 간단한 프로젝트부터 시작해 보겠습니다. 최신 버전의 Next.js를 배워서 바로 실무 프로젝트에 적용해 보세요.

반응형