在 Next.js 中,为什么要静态渲染? _document.js 包括 getInitialProps
In Next.js, Why static render? _document.js includes getInitialProps
我对 Next.js 中的 _document.js 文件感到非常困惑,想知道为什么它似乎违反了 Next.js 中的规则,即“getInitialProps 将禁用自动静态优化”。
显然,它并不像您在 运行 生产构建时看到的那样。结果输出声称页面将被静态优化。由于从 运行 到 _document.js,其中 none 应该能够进行静态优化。
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() {
如果您进行异步调用以获取数据,getInitialProps
将禁用自动静态优化。在上面的例子中,它不会阻止创建静态页面。
我对 Next.js 中的 _document.js 文件感到非常困惑,想知道为什么它似乎违反了 Next.js 中的规则,即“getInitialProps 将禁用自动静态优化”。
显然,它并不像您在 运行 生产构建时看到的那样。结果输出声称页面将被静态优化。由于从 运行 到 _document.js,其中 none 应该能够进行静态优化。
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() {
getInitialProps
将禁用自动静态优化。在上面的例子中,它不会阻止创建静态页面。