Next.js SSG模式下数据无法正常获取的问题求助
Next.js SSG模式下数据无法正常获取的问题求助
大家好,我遇到了一个Next.js SSG相关的棘手问题,想请各位帮忙排查下:
我平时用Jodit编辑器写博客文章,写完后直接把编辑器输出的HTML字符串存到MongoDB里。最近给项目加了SSG功能,结果发现了奇怪的矛盾现象:
- 直接调用项目的API接口时,能正常拿到正确的文章数据
- 但在SSG构建阶段,
getStaticProps里打印出来的获取到的数据却异常,最终生成的静态页面里完全没有内容
下面是我的getStaticProps和getStaticPaths的代码:
export async function getStaticProps({ params }) { try { const { data } = await axios.post(baseUrl + getPostBySlug, { slug: params?.slug }); console.log({ slug: params?.slug }, 'data 2 ->', data); // 这里打印的数据存在异常 return { props: { post: data?.data ?? null }, revalidate: 10, } } catch (err) { return { props: { post: null }, revalidate: 10, } } } export async function getStaticPaths() { try { const res = await fetch(baseUrl + getAllPosts, { method: 'GET' }); const data = await res?.json(); if (data?.success && data?.data) { return { paths: data?.data?.map(({ slug }) => ({ params: { slug } })), fallback: true, } } else { return { paths: [{ params: { slug: '/' } }], fallback: true, } } } catch (err) { return { paths: [{ params: { slug: '/' } }], fallback: true, } } }
我已经反复确认API本身是正常工作的,直接请求能返回完整的文章HTML数据,但一到SSG构建流程里就出问题。有没有朋友遇到过类似的情况?或者能帮我看看代码里哪里可能存在疏漏吗?
备注:内容来源于stack exchange,提问作者ʍօɦɨȶ ӄʊʍǟʀ ֆɨռɢɦ
相关产品推荐
相关产品推荐

