TX031

잘못된 dynamic 내보내기

콘솔

Text.js error TX031: Invalid `dynamic` export … in …. Use "auto", "force-static" or "force-dynamic".

발생 원인

라우트 핸들러가 Text.js에서 지원하지 않는 값으로 dynamic을 내보내요. Next.js는 "error"도 허용하며, 이 값은 라우트를 정적으로 렌더링하고 요청 데이터를 읽으면 빌드를 실패하게 해요. Text.js는 요청 읽기를 감지할 수 없어서 "error"를 거부해요.

해결 방법

핸들러를 캐시하려면 "force-static"을 사용하세요. 캐시된 핸들러는 쿼리 문자열, 헤더, 쿠키, 본문이 없는 요청을 받아요:

app/api/posts/route.tsts
// Beforeexport const dynamic = "error";// Afterexport const dynamic = "force-static";

핸들러가 요청을 읽는다면 "force-dynamic"을 사용하거나 내보내기를 제거하세요. 캐싱을 참고하세요.