Next.js _app 和 _document 使用?

Ana*_*aiO 3 next.js

我对 next.js 完全陌生,我需要你的帮助来解决一些我认为非常基本的问题,但我找不到我的错误或解释,我在互联网上找不到任何关于它的信息,所以我在这里:

当我在 pages 文件夹中创建文件时,一切正常(我的意思是 pages 文件夹中的每个文件都可以,除了_app.js_document.js),我可以访问 URL,但我想在将来使用上下文、布局或身份验证,我需要使用在_app_document覆盖很酷的事情,但我能写什么,我想它,看来我_app.js还是_document.js仅仅是没用的,从来不叫或我不知道,但他们从来没有工作。

我尝试了 2 个项目,这是我根据下一个文档所做的:首先, npx create-next-app 创建项目,然后_app.js在 pages 文件夹中添加一个example 并添加:

import React from 'react'
import App from 'next/app'
import Nav from '../components/nav'

class MyApp extends App {
  // Only uncomment this method if you have blocking data requirements for
  // every single page in your application. This disables the ability to
  // perform automatic static optimization, causing every page in your app to
  // be server-side rendered.
  //
  // static async getInitialProps(appContext) {
  //   // calls page's `getInitialProps` and fills `appProps.pageProps`
  //   const appProps = await App.getInitialProps(appContext);
  //
  //   return { ...appProps }
  // }

  render() {
    const { Component, pageProps } = this.props
    return ( 
      <>
        <Nav />
        <Component {...pageProps} />
      </>
      );
  }
}

export default MyApp 
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?

Ana*_*aiO 5

好吧,如果有人遇到同样的问题,我发现发生了什么,事实上,在第一次创建 _app.js 之后,我必须重新启动我的 docker 容器,或者如果我愿意的话,可以使用 yarn next dev 重新启动我的应用程序查看更改或它们永远不会出现。我将寻找更多关于 SSR 和 next.js 更全球化如何工作的解释,以了解他们在这一点上的行为。祝大家好运!

  • 是的。事实上,您必须使用 next 重建代码,以便考虑 `_app.js` 更改。 (2认同)