即使使用 getInitialProps 也有办法强制 SSG
不会。尽管 Nextjs 团队正在努力添加对的getStaticProps
支持_app.js
,但目前它禁用了静态优化。
正如 nextjs 建议的那样,当“数据来自无头 CMS”时,您应该使用 getStaticProps。
因此,您必须在需要请求的每个页面中执行相同的逻辑。请注意,可以将此逻辑提取到一个函数中并在任何地方重新使用它
getData.js
export async function getData({ req, res }) {
const data = await getData();
return { props: { data: data} };
}
pages/example.js
export const getStaticProps = getData
作为另一种选择,您可以在 getInitialProps 中获取一次数据。
易于设置(但请记住,您将失去静态优化。)
_app.js
App.getInitialProps = ({ req, res }) => {
const data = await getData();
return { props: { data: data} };
}