在尚未部署的Nextjs构建过程中(在getStaticProps中)调用API函数

时间:2020-09-02 14:50:00

标签: next.js vercel

我的项目,已部署到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函数的方式中做错什么吗?

1 个答案:

答案 0 :(得分:1)

getStaticProps内添加一个try catch,并在错误时返回空的道具。您的页面将在运行时生成