# ========================================== # 이미지 빌드 컨텍스트 제외 목록 (frontend) # # 이미지에는 소스와 lock 파일만 들어가야 한다. 산출물은 이미지 안에서 `npm ci` → `vite build` 로 만든다. # # node_modules : 호스트(Windows)에서 설치한 node_modules 가 `COPY . .` 로 들어가면 # `npm ci` 가 설치한 Linux 용 의존성(rollup·esbuild 등 네이티브 바이너리)을 덮어쓴다. # dev 의 익명 볼륨(/app/node_modules)도 이미지 내용으로 초기화되므로 같은 문제가 생긴다. # dist : 이미지 안에서 다시 빌드한다 — 호스트 산출물이 섞이면 어느 소스로 만든 번들인지 알 수 없다. # .env* : VITE_ 값은 번들에 그대로 박히고 이미지 레이어에도 남는다. # API 주소는 같은 주소 배포라 build arg VITE_API_BASE_URL=/api 로 고정이다 (Dockerfile · compose). # ========================================== node_modules dist dist-ssr coverage *.log *.local *.tsbuildinfo .env .env.* .git .vscode .idea __screenshots__