두 프레임워크 모두 파일 기반 라우팅을 사용하지만, 접근 방식이 다르다.
Next.js의 App Router는 유연하지만 복잡하고,
SvelteKit은 규칙이 명확하여 예측 가능하다.
Next.js App Router
app/
├── page.tsx
├── layout.tsx
├── loading.tsx
├── error.tsx
├── not-found.tsx
├── template.tsx
├── default.tsx
└── blog/
├── page.tsx
└── [slug]/
└── page.tsx
7종류의 특수 파일 + 동적 규칙
SvelteKit
routes/
├── +page.svelte
├── +page.server.ts
├── +layout.svelte
├── +error.svelte
└── blog/
├── +page.svelte
└── [slug]/
├── +page.svelte
└── +page.server.ts
+ 접두사로 명확한 파일 구분
SvelteKit의 + 접두사 컨벤션은 라우트 파일과 컴포넌트 파일을 명확히 구분한다. +page.svelte는 UI, +page.server.ts는 서버 로직.
파일 이름만 보고도 역할을 즉시 알 수 있다.
Next.js의 App Router에서는 page.tsx, layout.tsx, loading.tsx, error.tsx, template.tsx, default.tsx, not-found.tsx 등
다양한 특수 파일이 복잡하게 상호작용하며, 이들 사이의 우선순위를 이해해야 한다.