新手用 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",
},
});