我在 Next JS 中构建了一个基本的电影数据库应用程序,以了解该框架是如何工作的。该应用程序允许您利用 NextJS API 端点对 Firebase 执行 CRUD 操作。
我的应用程序在开发中运行良好,但它在 Vercel 上根本无法运行。我想知道是否有人可以提供一些线索?
这是初始化时的第一个“获取所有数据”调用。其他 API 调用遵循相同的模式。一旦部署就没有任何作用。
我的索引页有这个 getInitialProps 函数...
Home.getInitialProps = async () => {
const categories = await getCategories()
const movies = await getMovies()
const images = movies.map(movie => {
return {
id: `image-${movie.id}`,
url: movie.cover,
name: movie.name
}
})
return {
movies,
images,
categories
}
}
这会在此处触发 getMovies 函数...
export const getMovies = async () => {
const res = await axios.get('http://localhost:3000/api/movies')
return res.data
它命中的 API 端点看起来像这样......
import firebase from '../../lib/firebase';
export default async(req, res) => {
const moviesRef = firebase
.collection('movies');
const snapshot = await moviesRef.get();
const movies = [];
snapshot.forEach(doc => {
movies.push({ id: doc.id, ...doc.data() })
})
res.json(movies)
提前致谢!
最佳答案
您应该使用您的服务器链接,而不是本地主机。
关于javascript - Next JS 和 Vercel - 开发与生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65670727/