250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 과제 진행하기
- 중첩 점
- mutationobserver
- 통신망분석
- nextjs-performance
- Google 애널리틱스
- 헤르메스 엔진
- JavaScript
- 귤 고르기
- create-next-app
- 구름톤챌린지
- mock date
- nextjs
- 자바스크립트
- 구름톤 챌린지
- 구름톤
- ResizeObserver
- 호텔 대실
- 테스트 Date
- 프로그래머스
- 날짜 테스트
- Jest uuid syntax
- Hermes Engine
- 테이블 해시 함수
- 리액트네이티브
- 최솟갑 구하기
- Leetcode #javascript #알고리즘 #Algorithms #js
- 리액트네이티브 엔진
- 연결 요소 제거하기
- jest
Archives
- Today
- Total
나만보는개발공부블로그
[Nextjs] 프로젝트 구조 (Project Structure) 본문
Next.js 프로젝트 구성은 어떻게 될까?
프로젝트를 구성할때 nextjs에서 폴더 및 파일에 대해서 살펴보자면
- 최상단 폴더 구성 - app, page, public, src로 최상위 파일 폴더 이름으로 구성되어있다.
- 최상단 파일 구성 - next.config.js, package.json, instrumentation.ts, middleware.ts, .env 등으로 구성되어있다.
next.config.js | nextjs를 위한 구성 설정 파일 |
package.json | 프로젝트 설치파일들 의존성 및 스크립트 실행 설정 파일 |
instrumentation.ts | OpenTelemetry 와 Instrumentation을 구성하는 파일 - OpenTelemetry의 경우 nextjs의 성능 개선을 위한 모니터링 관련이다. - Instrumentatiation 파일 안에서 register()함수를 통해 cold booting (맨 처음 nextjs를 실행할때) 함수가 실행된다고 한다. -> side effect가 발생할 수 있는 import파일들을 따로 register안에서 처리해서 실행할려고 할때 유용한 예로 보여주고있다고 한다. |
middleware.ts | 서버 middleware 요청을 처리할때 사용하는 파일 NextRequest와 NextResponse의 nextjs에서 제공하는 응답객체를 가지고 미들웨어를 적용한 페이지에서 처리한다. |
.env | 환경변수 파일 |
.env.local | 로컬 환경변수 파일 |
.env.production | 배포 환경변수 파일 |
.env.development | 개발 환경변수 파일 |
.eslintrc.json | eslint 설정 파일 eslint의 경우는 스타일가이드로 IDE에서 코드 작성시에 오류 및 정해진 스타일 가이드 규칙을 잡아준다. |
.gitignore | git에서 업로드시 무시할 파일을 설정하는 파일 |
next-env.d.ts | nextjs에서 Typescript 선언 설정 파일 |
tsconfig.json | Typescript 관련 설정 파일 |
jsconfig.json | Javascript 관련 설정 파일 |
postcss.config.js | Tailwind CSS 관련 설정 파일 |
그리고 각각 최상단 폴더 안에서의 app, page에서도 nextjs에서 규정한 파일 이름 컨벤션이 존재한다.
app폴더안에서의 구조는
- layout
- page
- loading
- not-found
- error
- global-error
- route
- template
- default
위의 파일 이름 형식으로 구성되어있다. 그리고 nested로 구성할수도 있다고 한다.
page폴더안에서의 구조는
- _app
- _document
- _error
- name/index (페이지 이름)
위의 구조로 되어있다. 다이나믹 루트로 [...name]/index 이런식으로 사용되기도 한다.
https://nextjs.org/docs/getting-started/project-structure
Getting Started: Project Structure | Next.js
Using App Router Features available in /app
nextjs.org
그 이외에는 여러가지 SEO관련 sitemap, robot 파일들이 있다.
'Web Development > Front' 카테고리의 다른 글
[Nextjs] Tailwind css (0) | 2023.09.18 |
---|---|
[React-query] Stale time vs Cache time (0) | 2023.09.17 |
[Nextjs] create-next-app (0) | 2023.09.12 |
MutationObserver and ResizeObserver (0) | 2023.02.09 |
Nextjs Sentry Performance 설정하기 (0) | 2023.01.09 |