콘텐츠로 이동

Node.js(Express) vs Next.js 차이점 개요

이 디렉토리는 Node.js(Express) 기반 서버와 Next.js 기반 애플리케이션의 운영상 차이점을 정리한다.

Next.js는 내부적으로 Node.js 위에서 실행되지만, 빌드 산출물 구조, 실행 방식, 캐싱 모델, 환경 변수 처리 방식이 일반적인 Express 서버와 근본적으로 다르다.

특히 Express 서버 운영 경험을 그대로 적용할 경우, 다음과 같은 영역에서 운영 사고 또는 보안/배포 오류가 발생하기 쉽다.

  • 빌드 타임과 런타임의 개념 혼동
  • 환경 변수 노출 범위 오인
  • SSR/SSG/ISR 캐싱 동작에 대한 오해
  • 이미지 최적화 및 런타임 의존성 누락
  • PM2 / Nginx / SELinux 환경에서의 실행 방식 오해

이 문서 묶음은 개발 가이드가 아니라 운영 기준 문서이며, “왜 Next.js를 Express처럼 운영하면 안 되는가”를 설명하는 데 목적이 있다.


포함 문서

이 디렉토리는 다음 주제를 중심으로 구성된다.

  • 빌드/실행 방식 차이
  • 환경 변수 및 public 변수 노출 규칙
  • 정적 페이지, SSR, ISR의 캐싱 모델
  • 이미지 최적화와 런타임 의존성
  • 라우팅 구조 (App Router vs Pages Router)
  • 배포 모드 (Node / Serverless / Edge)
  • output: standalone 산출물 구조
  • API Routes / Server Actions 동작 방식
  • next.config.js 기반 설정 (headers / rewrites / redirects)
  • telemetry, offline build
  • 로그 및 에러 처리 방식