我在數位海洋 Droplet 上執行 GeoDjango,並且正在將專案從 VueJs 重寫為 Vercel 上託管的 NextJs。
在 Vue 中,我們有與儲存相關的服務模式,負責取得和更新資料。
我發現獲取部分非常好,但我仍在嘗試找出更新資料的最佳方法。
我應該如何在不使用 NextJs API 資料夾的情況下建立 CRUD 層(我不想讓另一個後端呼叫我的 Django 後端)。
我應該使用上下文嗎?
我應該使用中間件嗎?
我應該建立自訂服務嗎?那要怎麼稱呼他們呢? NextJs 中是否有相當於 store 的東西?
我這麼問是因為我想避免混亂,因為現在我在頁面上使用 fetch POST。我正在使用 NextAuth,它為我提供了帶有 jwt 令牌的上下文。
感謝您的任何提示
P粉3735968282024-01-11 09:55:04
對於 Next.js,您可以使用 重寫以將請求代理到您的後端。這樣您就可以從相對 URL 存取現有後端,就像它們位於 API 路由中一樣。您可以為每個路由明確執行此操作,或者您可以使用增量採用模式,該模式將在將請求代理回 django 伺服器之前檢查 Next.js 應用程式中的現有路由。
// next.config.js module.exports = { async rewrites() { return { fallback: [ { source: '/api/:path*', destination: `https://your.django.app/api/:path*`, }, ], } }, }