Next.js 13 Beta Vercel静态构建报错:WordPress GraphQL请求问题
Next.js 静态生成部署Vercel崩溃,本地正常,疑似WordPress GraphQL API问题
我在使用Next.js结合fetch发起GraphQL请求生成静态页面时遇到了问题:
- 创建了渲染超100条数据的列表页,通过Next的
generateStaticParams为数据生成动态静态页 - 本地构建完全正常,但部署到Vercel时构建崩溃,怀疑问题出在WordPress端
- 替换数据来源为模拟API后,部署一切正常,进一步验证了是WordPress相关的问题
Vercel构建时的错误截图:
我已经尝试过用其他API测试,未出现相同错误。
相关代码
[slug]/page.tsx
import { getTeachingBySlug, getTeachings } from "@/services" import { WPSerializer } from "@/utils" export const generateStaticParams = async () => { const teachings = await getTeachings() const { teachingList } = WPSerializer(teachings) return teachingList.map((teaching) => ({ slug: teaching.slug, })) } const SingleTeaching = async ({ params }: { params: { slug: string } }) => { const teachingSingle = await getTeachingBySlug(params.slug) return ( <div> <h1> Single Teaching </h1> <h2>{teachingSingle.documentBy.title}</h2> </div> ) } export default SingleTeaching
getTeachings函数
const getTeachings = async (restOptions?: {}): Promise<WPDocuments> => { const response = await fetch("https://some-wp-site-base-url/graphql", { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ query: ` query GetTeachings { documents(first: 1000) { edges { node { title slug link nauczania { pdfFile mediaUrlLink file description } } } } } `, variables: {}, ...restOptions }) }) const data = await response.json() return data.data } export default getTeachings
getTeachingBySlug函数
import { WPDocumentBySlug } from "@/types" const getTeachingBySlug = async (slug: string, restOptions?: {}): Promise<WPDocumentBySlug> => { const response = await fetch("https://some-wp-site-base-url/graphql", { method: "POST", headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ query: ` query TeachingBySlug ($slug: String = "") { documentBy(slug: $slug) { title nauczania { pdfFile mediaUrlLink file } link } } `, variables: { slug } }), ...restOptions }) const data = await response.json() return data.data } export default getTeachingBySlug
环境信息
- 操作系统:Windows 11
- Node版本:18.12
- Next版本:13.1.6
希望有人能帮我解决这个问题,谢谢 :)
内容的提问来源于stack exchange,提问作者Luke Luke
相关产品推荐
相关产品推荐

