SSR ๊ฐ์
TanStack Router
ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ
Type-safe ๋ค๋น๊ฒ์ด์
Vite SSR
๋น ๋ฅธ ๋น๋ HMR ์ง์
Direct API Call
HTTP ์ค๋ฒํค๋ ์์ ๋น ๋ฅธ ์๋ต
TanStack Query
Hydration ์๋ํ ์บ์ฑ ํตํฉ
Sonamu SSR ์ํคํ ์ฒ
Sonamu๋ TanStack Router + Vite๋ฅผ ์ฌ์ฉํ์ฌ SSR์ ๊ตฌํํฉ๋๋ค.ํต์ฌ ๊ตฌ์ฑ ์์
entry-server.generated.tsx
์๋ฒ์์ React๋ฅผ ๋ ๋๋งํ๋ ์ง์ ์ ์ ๋๋ค (์๋ ์์ฑ๋จ):entry-client.tsx
ํด๋ผ์ด์ธํธ์์ React๋ฅผ ํ์ด๋๋ ์ด์ ํ๋ ์ง์ ์ ์ ๋๋ค:TanStack Router ๋ผ์ฐํธ ๊ตฌ์กฐ
Root Route
ํ์ผ ๋ผ์ฐํธ
๋์ ๋ผ์ฐํธ
Vite ์ค์
SSR vs CSR
Sonamu๋ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค:SSR ๋ ๋๋ง (๋ฐ์ดํฐ ํ๋ฆฌ๋ก๋ฉ ์)
- ๋น ๋ฅธ First Contentful Paint
- SEO ์ต์ ํ
- ์ด๊ธฐ ๋ฐ์ดํฐ ์ฆ์ ํ์
CSR ๋ ๋๋ง (๊ธฐ๋ณธ)
- ์๋ฒ ๋ถํ ๊ฐ์
- ๊ฐ๋จํ ๊ตฌํ
- ๋น ๋ฅธ ๊ฐ๋ฐ
๊ฐ๋ฐ vs ํ๋ก๋์
๊ฐ๋ฐ ๋ชจ๋
dev all: API ์๋ฒ๊ฐ Vite๋ฅผ ํตํฉํ์ฌ ํ๋์ ํฌํธ๋ก API + Web ์๋น (HMR ์ง์)dev api: API๋ง ์คํ. Web์ด ํ์ ์๊ฑฐ๋ Vite๋ฅผ ๋ณ๋๋ก ์คํํ๊ณ ์ถ์ ๋ ์ฌ์ฉdev web: Vite ๊ฐ๋ฐ ์๋ฒ๋ง ๋จ๋ ์คํ.--๋ค์ Vite ์ต์ ์ ๋ฌ ๊ฐ๋ฅ
ํ๋ก๋์ ๋น๋
์ฃผ์์ฌํญ
๋ค์ ๋จ๊ณ
๋ฐ์ดํฐ ํ๋ฆฌ๋ก๋ฉ
registerSSR ์ฌ์ฉ๋ฒ
Hydration ์ ๋ต
ํ์ด๋๋ ์ด์
์ต์ ํ
์บ์ ์ ์ด
TanStack Query ์บ์ฑ
TanStack Router ๊ณต์ ๋ฌธ์
๋ผ์ฐํฐ ์์ธ ๊ฐ์ด๋