首頁 > web前端 > js教程 > 主體

為什麼我的 Next.js API 端點在部署後沒有更新?

Linda Hamilton
發布: 2024-11-02 08:31:02
原創
449 人瀏覽過

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

Next.js API 端點在部署後未更新

問題: 透過API 端點從資料庫取得資料項目部署後保持靜態。

分析:問題可能源自於快取。在 Next.js 中,API 路由和伺服器元件預設啟用快取以優化效能。此快取可能會幹擾資料更新。

解決方案:

要防止快取並確保動態資料更新,請如下調整快取行為:

  • 使用fetch():

    • 將revalidate 選項新增至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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!