티스토리 뷰
1. 개요
Next.js에서 특별한 이름을 가진 몇몇 파일들은 프레임워크에 의해 다양한 용도로 이용된다. 예를 들어 page.tsx (혹은 page.jsx)는 페이지를 생성하기 위한 파일이며 loading.tsx (혹은 loading.jsx)는 페이지가 로딩 중일 때 보여줄 컴포넌트로 이용된다. 그리고 어떤 이름은 폴더를 url에서 완전히 숨길 때 이용할 수 있다.
2. Private folders
Next.js에는 private folders라는 것이 있다. 이는 클라이언트 번들에는 포함되지 않고 서버에서만 사용되는 폴더를 의미한다. Next.js에는 클라이언트와 서버, 두 가지 환경이 존재한다. 클라이언트는 브라우저에서 실행되는 코드로 모든 사용자에게 노출되지만 서버는 서버에서만 실행되기에 클라이언트에는 노출되지 않는다. 그렇기에 private folders는 보안상 민감한 코드나 서버 전용 로직을 안전하게 관리할 수 있게 해준다.
2-1. 예시
예를 들어 위 이미지처럼 extras라는 폴더가 존재한다고 하자. 그리고 http://localhost:3000/extras로 진입하면 화면이 무사히 보이는 것을 확인할 수 있다.
private folder는 폴더 이름 앞에 언더바를 하나 붙이는 것으로 구현할 수 있다. 위 이미지처럼 extras라는 이름 앞에 언더바를 하나 붙이면 아래 이미지처럼 /extras로 진입 시 에러를 확인할 수 있다.
그렇기에 이는 UI 로직과 라우팅 로직을 분리하거나 파일 구성 등에 활용할 수 있다. 그리고 주의할 점이 하나 있는데, 만약 해당 폴더 내의 코드가 클라이언트에서 import 되거나 참조된다면 클라이언트 번들에 포함되어 버릴 수도 있다.
'기록' 카테고리의 다른 글
순열, 조합 알고리즘 문제 푼 거 기록 (0) | 2024.11.30 |
---|---|
Next.js의 서버 액션에서 발생한 "It is not allowed to define inline 'use server'..." 에러 해결하기 (0) | 2024.11.24 |
Next.js에서 클라이언트 컴포넌트에서 환경변수 사용하기 (0) | 2024.11.17 |
Prisma에서 select와 include를 동시에 이용할 수 없었을 때 (1) | 2024.11.10 |
Next.js의 Optimistic Update와 useOptimistic (0) | 2024.11.09 |
- Total
- Today
- Yesterday
- 비트마스킹
- 프로그래머스
- 햄버거버튼
- 구현
- NextJS
- Next.js
- react
- 다이나믹프로그래밍
- aws
- 스택
- 코드스테이츠
- 리액트
- C++
- 카카오맵
- 브루트포스
- 순열
- CSS
- 백준
- 자바스크립트
- async
- 완전탐색
- BFS
- 타입스크립트
- Redux
- typescript
- SQL
- 동적계획법
- 넥스트js
- themoviedb
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |