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