Node.js And Next.js Differences Short Runbook¶
이 문서를 볼 때¶
- Node.js Express와 Next.js 중 어떤 운영 문서를 봐야 할지 판단할 때
- Next.js의 SSR, SSG, ISR, standalone, image optimization, env 정책을 확인할 때
- Next.js를 backend/gateway처럼 쓰려는 요청을 검토할 때
판단 기준¶
| 질문 | Node.js | Next.js |
|---|---|---|
| 주 역할 | API/business logic server | web rendering application |
| build 필수성 | 앱 구조에 따라 선택 | production 기준 필수 |
| 정적 자산 | 앱이 직접 설계 | /_next/static 캐시 고려 |
| env 공개 경계 | 코드/런타임 기준 | NEXT_PUBLIC_*는 client 공개 |
| 이미지 최적화 | 별도 구현 | Next.js runtime 의존성 고려 |
| gateway 적합성 | 별도 gateway 아님 | gateway로 쓰면 안 됨 |
작업 순서¶
- 서비스가 API인지 web rendering인지 구분
- build 산출물과 runtime 실행 방식을 확인
- env 공개/비공개 경계를 확인
- routing 구조와 API Route/Server Action 사용 여부 확인
- cache, image, logging, telemetry 정책 확인
- 배포 모드가 운영 서버와 맞는지 확인
중단 조건¶
- Next.js를 reverse proxy 또는 API gateway로 쓰려 함
- secret을
NEXT_PUBLIC_*에 넣으려 함 - Edge/serverless 전제 코드를 Rocky Linux PM2 서버에 그대로 올리려 함
- image optimization 의존성을 고려하지 않음