피드로 돌아가기
Dev.toBackend
원문 읽기
CLAUDE.md를 통한 AI 생성 코드의 Express.js 런타임 오류 원천 차단
CLAUDE.md for Express.js: 13 Rules That Stop AI from Breaking Your Middleware Chain
AI 요약
Context
LLM이 Express.js의 버전별 비동기 처리 방식이나 미들웨어 시그니처 같은 프레임워크 특유의 컨벤션을 정확히 인지하지 못해 발생하는 런타임 버그 해결 필요. 특히 Express 4의 Async Error handling 부재로 인한 Silent Crash와 잘못된 Middleware Arity 설정으로 인한 에러 핸들러 무효화가 주요 병목 지점으로 작용.
Technical Solution
- Express 4의 Promise rejection 미처리 문제를 해결하기 위한 asyncHandler wrapper 강제 및 명시적 try/catch 구조 설계
- Express의 function.length 기반 미들웨어 판별 로직에 맞춘 에러 핸들러의 4-argument (err, req, res, next) 시그니처 고정
- Race Condition 및 "Headers already sent" 에러 방지를 위한 next() 호출 이후 req/res 객체 Mutation 금지 제약 적용
- Zod 기반의 Schema Validation을 비즈니스 로직 전단계에 배치하여 Type-safe한 입력값 보장 및 Ad-hoc 검증 제거
- Feature-level Router 미들웨어를 통한 관심사 분리로 Global Middleware의 오남용 및 보안 홀 차단
- Startup 단계에서 Zod를 이용한 환경 변수 Validation을 수행하여 Runtime 중단 대신 Fail-fast 메커니즘 구현
실천 포인트
- Express 4 사용 시 모든 Async Route에 asyncHandler 적용 여부 검토 - 에러 처리 미들웨어의 파라미터 개수가 정확히 4개인지 확인 - process.env 직접 참조를 제거하고 검증된 Config 모듈 도입 검토 - Route별 Body Parser 중복 적용 여부(raw vs json) 확인