我希望在调用Nexjs 13应用中的端点时能够使用增量静态重新生成。问题是我的端点是一个Edge函数,因此在构建代码时出现以下错误:
当我尝试在app/
目录中调用Edge函数时,出现此错误。
async function fetchPosts() {
const res = await fetch(`${basePath}/api/myExpensiveEndpoint`, { next: { revalidate: 60 } });
const data = await res.json();
return data.posts;
}
我认为这是意料之中的,因为这是一个Nextjs Edge函数,它们不允许在静态生成方法中调用。解决方案应该是直接调用方法,而不是API。类似如下:
import { myExpensiveFunction } from '../../lib/functions'
export async function getStaticProps() {
const data = await myExpensiveFunction()
return {
props: { posts: data.posts },
revalidate: 60,
};
}
但是Nexjs13不支持新的app/
目录中的getStaticProps
,所以这不起作用。所以我试图在不使用旧的pages/
目录的情况下寻找解决这个问题的方法。
1条答案
按热度按时间fjaof16o1#
调用我的函数并导出常量
revalidate
就成功了:)以下是来源:https://beta.nextjs.org/docs/data-fetching/fetching#segment-cache-configuration