TL;博士
生成项目后添加的数据没有显示在任何地方。它在DB中,但没有显示在站点上。
因此,我在使用firebase作为DB时,为meetups创建了站点。一切都在开发模式下正常工作。即使当我构建我的项目并使用next build && next export导出它,然后使用next start运行它时,它仍然工作得很好。但是,当我运行firebase deploy --only hosting命令时,我在本地运行项目时添加的所有新数据都不在那里。不过,它存在于DB中。
我想问的是,消防基地不支持SSG吗??
我做了一些研究,发现Vercel上的部署运行良好。
下面是我的index.js文件代码
function HomePage(props) {
console.log("Number of meetups: " + props.meetups.length);
return (
<Fragment>
<Head>
<title>Next Js Meetups</title>
<meta name="Description" content="Browse a huge list of Meetups" />
</Head>
<MeetupList meetups={props.meetups}></MeetupList>
</Fragment>
);
}
export async function getStaticProps() {
// Fetch data from API
console.log("Getting data in getStaticProps");
var list = await GetAllMeetups();
return {
props: {
meetups: list,
},
revalidate: 5,
};
}
export default HomePage;如果我遗漏了什么,请告诉我。
发布于 2021-12-02 11:07:17
这是因为当您运行getStaticProps时,只获取数据。它不会每次加载页面时,只在构建时提取。SSG的缺点是,一旦数据发生变化,您就必须重新构建和重新部署项目。
如果您希望每次更新,请使用SSR & getServerSideProps,但是您将无法在Firebase上部署它,因为它只支持SSG。对于服务器端呈现Next.js应用程序的部署,我可以亲自推荐Netlify。
https://stackoverflow.com/questions/70197912
复制相似问题