Skip to content
← Back to rules

nextjs/no-head-import-in-document 正确性

它的作用

阻止在 Next.js 项目中于文档(document)内使用 next/head

为什么这是不好的?

pages/_document.js 中导入 next/head 可能会导致你的 Next.js 应用出现意外问题。

示例

此规则的 错误 代码示例:

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

class MyDocument extends Document {
  static async getInitialProps(ctx) {
    //...
  }

  render() {
    return (
      <Html>
        <Head></Head>
      </Html>
    );
  }
}

export default MyDocument;

此规则的 正确 代码示例:

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

class MyDocument extends Document {
  static async getInitialProps(ctx) {
    //...
  }

  render() {
    return (
      <Html>
        <Head></Head>
      </Html>
    );
  }
}

export default MyDocument;

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "plugins": ["nextjs"],
  "rules": {
    "nextjs/no-head-import-in-document": "error"
  }
}
bash
oxlint --deny nextjs/no-head-import-in-document --nextjs-plugin

参考资料