Next.js의 _app.js와 _document.js 파일의 차이점
4943 단어 htmlnextjsreactjavascript
소개
Next.js는 React.js 위에 구축된 프레임워크이며, Next.js 팀은 이를 프로덕션용 React 프레임워크라고 불렀습니다. 이 프레임워크를 사용하면 React 애플리케이션에서 SSG , ISR 및 SSR 전략을 최적화할 수 있습니다.
이 기사에서는 Next.js에서 _app.js과 _document.js 파일의 차이점이 무엇인지 알 것입니다.
그럼 시작하겠습니다... 👉
_app.js 파일
새 Next.js 프로젝트를 생성하면 페이지 디렉토리에
_app.js
라는 파일이 있음을 알 수 있으며 파일을 열면 다음 코드가 표시됩니다.import '../styles/globals.css'
import type { AppProps } from 'next/app'
function MyApp({ Component, pageProps }: AppProps) {
return <Component {...pageProps} />
}
export default MyApp
app.js 파일의 이름을 다음 앱의 모든 구성 요소의 루트로 지정할 수 있습니다. 즉, 페이지 디렉토리에서 생성할 모든 페이지가 이동하여 MyApp 구성 요소를 발생시킵니다.
이것은 아름다운 기능입니다.
_document.js 파일
이 파일은 유명한 _app.js 파일과 달리 많은 Next.js 개발자들에게 알려지지 않은 파일이며, 사용 빈도가 낮기 때문입니다. 또한 이를 사용하려면 생성해야 합니다.
_document.js 파일을 사용하면 다음 앱에서 기본 HTML 구조를 덮어쓸 수 있습니다.
방법을 알아보자...
Pages 디렉토리에 js 파일을 만들고 이름은 "_document.js"로 지정하고 다음 코드를 넣습니다.
import Document, { Html, Main, Head, NextScript } from "next/document";
class MyDocument extends Document {
render() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
export default MyDocument;
이것은 앱에서 HTML의 기본 구조입니다. 이제
lang
속성을 html
태그에 추가하는 등 편집할 수 있습니다.❗️Notice that
- _document.js lets you edit only html code structure which means that you can't add javascript events in it.
Head
Component in _document.js is Completely different from Head in _app.js file
결론
전역 레이아웃 또는 메타 태그를 추가해야 하는 경우 _app.js 파일을 사용하고 HTML 코드의 기본 구조를 편집해야 하는 경우에만 _document.js 파일을 사용하십시오.
Reference
이 문제에 관하여(Next.js의 _app.js와 _document.js 파일의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ahmedmohmd/difference-between-appjs-and-documentjs-files-in-nextjs-3ah2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)