【问题标题】:Vercel deployment: Error occurred prerendering page "/" TypeError: fetch failedVercel 部署:预呈现页面 \"/\" TypeError 发生错误:获取失败
【发布时间】:2023-02-12 03:05:04
【问题描述】:

昨天我将我的项目(使用 Sanity.io)部署到 Vercel,没有问题。

今天我编辑了我的代码并想用这个命令部署新版本:

vercel build
vercel deploy --prebuilt
vercel --prod

最后一条命令给了我一条错误信息:

vercel error screenshot

而且错误似乎来自 fetchPageInfo.js

fetchPageInfo.js

export const fetchPageInfo = async() => {
    const res = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/getPageInfo`);
    const data = await res.json();
    const pageInfo: PageInfo = data.pageInfo
    
    return pageInfo; 

索引.tsx

export const getStaticProps: GetStaticProps<Props> = async () => {
  const pageInfo: PageInfo = await fetchPageInfo();
  const experience: Experience[] = await fetchExperience();
  const skills: Skill[] = await fetchSkills();
  const projets: Projet[] = await fetchProjet();
  const socials: Social[] = await fetchSocial();
  return {
    props: {
      pageInfo,
      experience,
      skills,
      projets,
      socials,
    },
    revalidate:10,
  };
};

环境.local

NEXT_PUBLIC_SANITY_DATASET =  production
NEXT_PUBLIC_SANITY_PROJECT_ID = *<hideContent>*
NEXT_PUBLIC_BASE_URL = http://localhost:3000/
GENERATE_SOURCEMAP=false

我是 Sanity 和 Vercel 的新手,我想 Sanity 和 Vercel 一起交流,Vercel 将 NEXT_PUBLIC_BASE_URL 转换为真实 URL 而不是本地

我试图直接在 sanity.ts 中传递 projetId 键并将真实的在线 URL 放在 fetchPageInfo 中(这个编辑给了我这个错误:无法从 undefined/api/getExperience 解析 URL

但是当我将 URL 放入 Safari 时,我检索了所有数据。

所以我被卡住了...

有人能帮助我吗 ?

【问题讨论】:

  • 我也有同样的问题,但我遇到了同样的错误,但 vercel build 本身对我来说是失败的。无论如何,你有没有找到任何解决办法?

标签: javascript vercel sanity


【解决方案1】:

我也遇到同样的错误。

TypeError:无法从 undefined/api/getPageInfo 解析 URL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-01
    • 2021-05-31
    • 2021-08-17
    • 2018-05-07
    • 2022-11-19
    • 2021-12-01
    • 2023-02-24
    • 2022-12-20
    相关资源
    最近更新 更多