如何解决在尚未部署的Nextjs构建过程中在getStaticProps中调用API函数
我的项目,已部署到Vercel
Nextjs网站,带有WHERE Airline.AirlineName = 'Emirates Airlines' AND Passenger_Details.Name = 'Michael Stuart' AND Booking_Details.Flight_No = 'MH101'
在/pages/api/foo.ts
内部,我打了以下电话:
/pages/index.tsx
要在上述const api = {
async monthly(symbol) {
const res = await fetch(`${server}/api/stocks?symbol=${symbol}`);
const json = await res.json();
return json;
},};
export async function getStaticProps() {
const initial = await api.monthly(stock)
return {
props: {
initial,},revalidate: 60,};
}
调用中获得server
的值,我有以下配置文件:
fetch
我的确切问题是:当我尝试构建(和部署)此站点时,它无法进行静态生成,因为const dev = process.env.NODE_ENV !== "production";
export const server = dev
? "http://localhost:3000"
: "https://fooproduction.com";
正在调用生产环境中尚不存在的API函数。 getStaticProps
在构建期间)
我在Vercel Nextjs™构建,部署和调用API函数的方式中做错什么吗?
解决方法
在getStaticProps
内添加一个try catch,并在错误时返回空的道具。您的页面将在运行时生成
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。