시작하기 - 프로젝트 구조

Zense·2023년 7월 22일
0

Next.js Docs 번역

목록 보기
3/14

Next.js 프로젝트 구조

이 페이지에서는 Next.js 프로젝트의 파일 및 폴더 구조에 대한 개요를 제공합니다. 앱 및 페이지 디렉토리 내의 최상위 파일 및 폴더, 구성 파일 및 라우팅 규칙을 다룹니다.


최상위 파일

next.js 관련

파일명설명
next.config.jsNext.js 설정 파일
middleware.ts(.js)미들웨어 정의
instrumentation.tsOpenTelemetry and Instrumentation
.env환경변수 파일
.env.local로컬 환경변수 파일
.env.production프로덕션 환경변수 파일
.env.development개발 환경변수 파일
.next-env.d.tsNext.js용 TypeScript 선언 파일

Ecosystem

파일명설명
package.json프로젝트 의존성 및 스크립트 선언 파일
.gitignoreGit에서 무시할 파일 및 폴더
tsconfig.jsonTypeScript용 구성 파일
jsconfig.jsonJavaScript용 구성 파일
.eslintrc.jsonESLint용 구성 파일

최상위 폴더

폴더 명설명
app앱 라우터
pages페이지 라우터
public사용할 정적 에셋(글꼴, 이미지 등)
src추가적인 애플리케이션 소스 폴더

App Routing 컨벤션

Routing 파일

파일명확장자설명
layout.js .jsx .tsx레이아웃
page.js .jsx .tsx페이지
loading.js .jsx .tsx로딩 UI
not-found.js .jsx .tsxNot found UI
error.js .jsx .tsxError UI
global-error.js .jsx .tsxGlobal error UI
route.js .tsAPI 엔드포인트
template.js .jsx .tsxRe-rendered layout
default.js .jsx .tsx병렬 라우팅 대체 페이지

중첩 라우트

파일명설명
folder라우트 segment
folder/folder중첩된 라우트 segment

동적 라우트

파일명설명
[folder]동적 라우트 segment
[...folder]Catch-all segments
[[...folder]]Optional catch-all segments

Route Groups and Private Folders

파일명설명
(folder)Group routes without affecting routing
_folderOpt folder and all child segments out of routing

Parallel and Intercepted Routes

파일명설명
@folderNamed slot
(.)folderIntercept same level
(..)folderIntercept one level above
(..)(..)folderIntercept two levels above
(...)folderIntercept from root

Metadata File Conventions

App Icons

파일명확장자설명
favicon.icoFavicon file
icon.ico .jpg .jpeg .png .svgApp Icon file
icon.js .ts .tsxGenerated App Icon
apple-icon.jpg .jpeg, .pngApple App Icon file
apple-icon.js .ts .tsxGenerated Apple App Icon

Open Graph and Twitter Images

파일명확장자설명
opengraph-image.jpg .jpeg .png .gifOpen Graph image file
opengraph-image.js .ts .tsxGenerated Open Graph image
twitter-image.jpg .jpeg .png .gifTwitter image file
twitter-image.js .ts .tsxGenerated Twitter image

SEO

파일명확장자설명
sitemap.xmlSitemap file
sitemap.js .tsGenerated Sitemap
robots.txtRobots file
robots.js .tsGenerated Robots file

Page Routing 컨벤션

(생략)


원문 - https://nextjs.org/docs/getting-started/project-structure

0개의 댓글