>  기사  >  웹 프론트엔드  >  배포 후 Next.js API 엔드포인트가 업데이트되지 않는 이유는 무엇입니까?

배포 후 Next.js API 엔드포인트가 업데이트되지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 08:31:02450검색

Why are My Next.js API Endpoints Not Updating After Deployment?

배포 후 Next.js API 끝점이 업데이트되지 않음

문제: API 끝점을 통해 데이터베이스에서 데이터를 가져옴 은(는) 프로젝트 배포 후에도 정적 상태로 유지됩니다.

분석: 이 문제는 캐싱에서 비롯되었을 가능성이 높습니다. Next.js에서 API 경로와 서버 구성 요소에는 성능 최적화를 위해 기본적으로 캐싱이 활성화되어 있습니다. 이 캐싱은 데이터 업데이트를 방해할 수 있습니다.

해결책:

캐싱을 방지하고 동적 데이터 업데이트를 보장하려면 다음과 같이 캐싱 동작을 조정하세요.

  • fetch() 사용:

    • 재검증 간격을 초 단위로 지정하려면 fetch() 요청에 재검증 옵션을 추가하세요.

      fetch('https://...', { next: { revalidate: 10 } });
    • 또는 캐시 옵션을 no-store로 설정하여 캐싱을 비활성화합니다.

      fetch('https://...', { cache: 'no-store' });
  • 경로 세그먼트 구성 사용:

    • layout.js, page.js 또는 Route.js 파일에서 다음 코드를 추가하여 특정 경로 세그먼트에 대한 캐싱을 비활성화합니다.

      import prisma from './lib/prisma';
      
      export const dynamic = 'force-dynamic';
      
      async function getPosts() {
        const posts = await prisma.post.findMany();
        return posts;
      }
      
      export default async function Page() {
        const posts = await getPosts();
        // ...
      }

이러한 단계에 따라 API 엔드포인트에 대한 캐싱을 비활성화하고 배포 후 데이터 업데이트가 즉시 반영되도록 할 수 있습니다.

위 내용은 배포 후 Next.js API 엔드포인트가 업데이트되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.