在Next.js中,为什么要进行静态渲染? _document.js包含getInitialProps

时间:2020-10-06 14:02:59

标签: next.js vercel

我对Next.js中的_document.js文件非常困惑,想知道为什么它似乎违反了Next.js中的规则,即“ getInitialProps将禁用自动静态优化”。

很明显,运行生产版本时并没有看到。结果输出声称页面将被静态优化。由于以前的页面都是通过_document.js运行的,因此它们都不能进行静态优化。

import Document, { Html, Head, Main, NextScript } from "next/document";

class MyDocument extends Document {
  static async getInitialProps(ctx) {
  const initialProps = await Document.getInitialProps(ctx);
  return { ...initialProps };
   }

   render() {

1 个答案:

答案 0 :(得分:1)

如果您进行异步调用以提取数据,

getInitialProps将禁用自动静态优化。在上面的示例中,它不会阻止创建静态页面。