我现在正在做一个天气应用程序。我在Next.js13的帮助下构建了这个应用程序,在完成项目后,我在yarn run build的帮助下构建了这个项目,在我的本地机器上它工作正常,但是当我在vercel上部署这个项目时,它的主页工作正常,但是我的动态路由不工作
gitHub:code Link
i5desfxk1#
如果没有Vercel的日志,就不可能确定出了什么问题,但至少-您的getCityId使用localhost获取数据:
getCityId
localhost
const getcityid = async (id) => { const city = await fetch(`http://localhost:3000/api/citibyid?id=${id}`) const citydata = await city.json(); return citydata }
你需要使用相对路径,比如:
const city = await fetch(`/api/citibyid?id=${id}`)
还要确保在Vercel上设置了openweathermap的环境变量API_KEY。
API_KEY
dm7nw8vv2#
...尝试完整的动态页面,将export const dynamic = 'force-dynamic';添加到..location/[city] /page.js(并基本上从获取中删除next: {revalidate: 10000})-可能问题是由服务器预呈现的不一致引起的(哪个应该是默认城市?)并动态呈现在飞行[城市]页面上...(另外,为什么不设置title= ${cityreport.city.name}天气-下一个天气应用to元数据`对象本身(如由文档)...
export const dynamic = 'force-dynamic';
..location/[city] /page.js
next: {revalidate: 10000}
title=
to
2条答案
按热度按时间i5desfxk1#
如果没有Vercel的日志,就不可能确定出了什么问题,但至少-您的
getCityId
使用localhost
获取数据:你需要使用相对路径,比如:
还要确保在Vercel上设置了openweathermap的环境变量
API_KEY
。dm7nw8vv2#
...尝试完整的动态页面,将
export const dynamic = 'force-dynamic';
添加到..location/[city] /page.js
(并基本上从获取中删除next: {revalidate: 10000}
)-可能问题是由服务器预呈现的不一致引起的(哪个应该是默认城市?)并动态呈现在飞行[城市]页面上...(另外,为什么不设置title=
${cityreport.city.name}天气-下一个天气应用to
元数据`对象本身(如由文档)...