- 此问题已在此处有答案**:
How to avoid caching in the app directory of Next.js?(1个答案)
2天前关闭。
我有这个API路由:app/api/notes/route.js
import db from "@/utils/firebaseDB"
import { collection, getDocs } from "firebase/firestore";
export const GET = async (request) => {
let posts = []
try {
const querySnapshot = await getDocs(collection(db, "Notes"));
querySnapshot.docs.map((doc) => {
const postData = { ...doc.data(), id: doc.id };
posts.push(postData);
});
return new Response(JSON.stringify(posts), { status: 200 })
} catch (error) {
return new Response("Failed to fetch all data", { status: 500 })
}
}
构建项目后,结果将变为静态或缓存。所以,我需要一种方法在一定时间后强制revalidate
。
使用fetch
的解决方案是使用fetch('https://...', { next: { revalidate: 60 } });
,但对于getDocs
,我不知道。
谢谢你
1条答案
按热度按时间xesrikrc1#
通过添加
export const revalidate = 60;
,我已经解决了这个问题。**更多信息:**https:nextjs.org/docs/app/building-your-application/data-fetching/revalidating#background-revalidation