728x90
반응형
그냥 node.js로 처음부터 구성할때는 요청해야 할 api설정, 미들웨어 등 직접 작성하고, 사용할 곳을 정했어야 했는데
Next.js 프레임워크와 nextAuth 라이브러리를 사용하니 자동으로 처리하는 것이 많아 혼란이 생겼다.
middleware.ts라는 파일을 만들기만 했는데 왜 자동으로 사용되는거지??
인증관련 코드에서 api/auth/session 같은 코드는 짠적이 없는데 왜 계속 신호가 가는거지?? 등등
편하긴 하지만 내가 알지 못하는 동작들이 있어서 머리가 아팠다.
그래서 검색을 통해 알아낸 정보를 적었다.
Next.js 자동화 기능
- 라우팅 자동화
- 파일 시스템 기반 라우팅
- pages/ 또는 app/ 디렉토리의 파일 구조에 따라 자동으로 라우트 생성
- 동적 라우트 ([id].js) 자동 처리
- 코드 최적화
- 자동 코드 분할 (Code Splitting)
- 이미지 최적화 (next/image)
- 자동 폰트 최적화
- 자동 정적 최적화 (Automatic Static Optimization)
- 빌드 프로세스
- TypeScript 설정 자동화
- 환경 변수 자동 로딩 (.env 파일)
- Hot Module Replacement (HMR)
NextAuth.js 자동화 기능
- API 라우트 자동 생성
- /api/auth/[...nextauth] 경로가 자동으로 처리
- 다음 엔드포인트 자동 생성:
- /api/auth/signin
- /api/auth/signout
- /api/auth/session
- /api/auth/providers
- /api/auth/csrf
- 세션 관리
- 세션 생성 및 갱신 자동화
- JWT 또는 데이터베이스 세션 자동 처리
- 미들웨어 자동화
- middleware.ts 파일 생성 시 자동으로 인증 체크
- 설정된 경로에 대한 보호 자동화
- 타입 안정성
- Session 타입 자동 생성
- API 응답 타입 자동 처리
자주 놓치는 자동화 기능들
- 자동 리다이렉션
- 인증되지 않은 사용자가 보호된 페이지 접근 시 자동 리다이렉트
- 로그인 후 원래 페이지로 자동 리다이렉트
- CSRF 보호
- CSRF 토큰 자동 생성 및 검증
- 애셋 최적화
- 폰트, 이미지 등의 자동 최적화
- 필요한 JS/CSS만 로드
- 개발 환경 최적화
- Fast Refresh
- 에러 오버레이
- TypeScript 오류 자동 보고
주의사항
- 자동화된 기능을 오버라이드할 때는 주의가 필요
- 커스텀 설정이 필요한 경우 공식 문서 참조
- 자동화된 기능이 항상 최적은 아닐 수 있음
728x90
반응형
'일기 > 개발일기' 카테고리의 다른 글
[241015] 모드버스 RTU와 TCP (0) | 2024.10.15 |
---|---|
[241014] RS-485 Modbus RTU 통신 (1) | 2024.10.14 |
[241002-3] Next.js signIn의 redirect (0) | 2024.10.02 |
[241002] Next.js 미들웨어 (0) | 2024.10.02 |
[240930] Next.js 인증 (2) | 2024.09.30 |