Skip to content

0917

biome

  • A Node.js builtin module should be imported with the node: protocol.biomelint/style/useNodejsImportProtocol
  • biome에서 내뿜는 경고 메시지인데, node js 내장 모듈을 사용할 경우엔 모듈 앞에 node: 를 붙여야 된다고 말해주는 것.
  • execSync의 stdio 속성
    • inherit: 자식 프로세스의 표준 스트림을 부모 프로세스의 표준 스트림과 동일하게 상속 받는 것

next.config 中 standalone

standalone이란?

Next.js에서 standalone 출력 모드는 자체 포함된(self-contained) 애플리케이션을 빌드하는 옵션.

// next.config.js  
module.exports = {  
  output: 'standalone'  
}

주요 특징

1. 독립적인 서버 생성

  • 빌드 시 .next/standalone 폴더에 완전히 독립적인 Node.js 서버가 생성됨
  • 외부 의존성 없이 실행 가능한 형태

2. 최소한의 파일만 포함

  • 런타임에 필요한 파일들만 선별적으로 포함
  • node_modules의 모든 패키지가 아닌, 실제로 사용되는 모듈만 복사

3. Docker 친화적

  • Docker 이미지 크기를 대폭 줄일 수 있음
  • 멀티 스테이지 빌드에서 프로덕션 단계에 최적화된 구조

실행 방법

# 빌드 후  
node .next/standalone/server.js

언제 사용하나?

  • Docker 컨테이너로 배포할 때
  • 서버리스 환경에서 이미지 크기를 줄이고 싶을 때
  • 프로덕션 환경에서 최적화된 성능이 필요할 때

주의사항

  • public 폴더와 .next/static 폴더는 별도로 복사해야 함
  • 정적 파일들은 CDN이나 별도 서버에서 제공하는 것이 일반적