小白求教: next.js 项目部署 vercel 环境变量不生效

17 天前
 FynnZ

新手用 AI 写了个 next.js 项目,构建的时候总是报错,AI 也解决不了问题。。

这是报错代码:

Fetching tools from: https://your-vercel-app-url.vercel.app Full API URL: https://your-vercel-app-url.vercel.app/api/sites API Response Status: 404 Error fetching tools: Error: Failed to fetch tools: 404 Not Found at c (.next/server/app/page.js:1:28997) at async f (.next/server/app/page.js:1:29346) Finalizing page optimization ... Collecting build traces ...

我在 vercel 的环境变量设置中新增了: key:NEXT_PUBLIC_BASE_URL Value: https://linkary-puce.vercel.app

Environments 勾选了 Production 和 Preview

最后在 Redeploy 的时候选择了 Production ,然后总是报错,看起来是环境变量没有生效; 但是我在代码中强制使用 vercel 的 URL ,就能正常跑下去。

page.tsx 代码:

async function getTools(): Promise<ToolsResponse> { try { const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || "https://your-vercel-app-url.vercel.app"; console.log("Fetching tools from:", baseUrl); console.log("Full API URL:", ${baseUrl}/api/sites);

const res = await fetch(`${baseUrl}/api/sites`, {
  next: { revalidate: 60 },
  headers: {
    "Content-Type": "application/json",
  },
});
503 次点击
所在节点   Next.js
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1105386

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX