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이나 별도 서버에서 제공하는 것이 일반적