首页 > 解决方案 > 如何在 NextJS /_document.js 文件中获取路径名

问题描述

我正在尝试在 /page/_document.js 文件中获取当前路径名。我正在使用一个类,我的目标是使用该值创建一个条件。

这是我的代码(基本上是 NextJS 页面中的示例)

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() {
    return (
      <Html>
        <Head />
        <body>
          <Main />
          <NextScript />
        </body>
      </Html>
    )
  }
}

export default MyDocument

标签: javascriptreactjsnext.js

解决方案


您可以通过ctx.req.urlctx.asPathgetInitialProps在您第一次访问应用程序时执行

注意: 的 getInitialProps 函数不会在客户端转换期间调用,也不会在页面自动静态优化时调用。

注意:确保检查 ctx.req / ctx.res 是否在 getInitialProps 中定义。当静态导出页面以供下次导出或自动静态优化时,这些变量将未定义。

文档


推荐阅读