์ํฐ๋ ํ๋ฆฌ์จ๋ณด๋ฉ ์ฑ๋ฆฐ์ง 10์ (CSR / SSR with Next.js)
https://www.wanted.co.kr/events/pre_challenge_fe_3
ํ๋ฆฌ์จ๋ณด๋ฉ ํ๋ก ํธ์๋ ์ฑ๋ฆฐ์ง 3์ฐจ | ์ํฐ๋
AI ์ฑ์ฉ, ์ฐ๋ด ์ ๋ณด, ์ด๋ ฅ์, ์ปค๋ฆฌ์ด ์ฝํ ์ธ ๊น์ง ์ปค๋ฆฌ์ด ์ฑ์ฅ์ ํ์ํ ๋ชจ๋ ๊ฒ, ์ํฐ๋์์ ๋ง๋๋ณด์ธ์.
www.wanted.co.kr
CSR(Client-side Rendering)์ด๋ ๋ฌด์์ด๋ฉฐ, ๊ทธ๊ฒ์ ์ฅ๋จ์ ์ ๋ํ์ฌ ์ค๋ช ํด์ฃผ์ธ์.
๐CSR (Client Side Rendering)
- ๋ชจ๋ ๊ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฒ๋ฆฌ ํ๋๊ฒ
- HTML์ ๋น ํ์ผ์ด๊ณ , ์์ค์ฝ๋๊ฐ ๋ด๊ฒจ์๋ JS์ ํ์ํ ๋ฐ์ดํฐ์ธ JSON์ ๋ค์ด๋ฐ์์์ ํ๋ฉด์ ๊ทธ๋ ค์ค๋ค. (์ฌ์ดํธ์ ์์๋ค์ ์ง์ ๋ ๋๋ง)
- ๋จ์
- ํ์ด์ง ๋ก๋ฉ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
- ๋์ ๋ ๋๋ง์ด๋ผ SEO๊ฐ ์ข์ง์๋ค.
- ๊ท๋ชจ ์๋ ์ฌ์ดํธ๋ผ๋ฉด ๋ก๋ฉ ์๋๊ฐ ๋๋ ค์ง๋ค.
- ์ฅ์
- ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ถ์ ์ผ๋ก ๋ ๋๋ง ๊ฐ๋ฅ
SPA(Single Page Application)๋ก ๊ตฌ์ฑ๋ ์น ์ฑ์์ SSR(Server-side Rendering)์ด ํ์ํ ์ด์ ์ ๋ํ์ฌ ์ค๋ช ํด์ฃผ์ธ์.
๐SPA (Single Page Application)
- ์ฌ์ฉ์๊ฐ ํ ํ์ด์ง์ ๋จธ๋ฌด๋ฅด๋ฉด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์์ ๋ฐ์์์ ๋ถ๋ถ์ ์ผ๋ก๋ง ์ ๋ฐ์ดํธ
- ํ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ฏ ์ฌ์ฉ์ฑ์ด ์ข์์ง
- SPA ํธ๋ ๋ + ์ฌ์ฉ์๋ค์ PC์ฑ๋ฅ ํฅ์ + JS ํ์คํ + ๊ฐ๋ ฅํ ์ปค๋ฎค๋ํฐ ๋ฐํ์ผ๋ก
- Angular, Vue, React ๋ฑ CSR ํ๋ ์์ํฌ๊ฐ ๊ฐ๋ฐ๋์ด CSR์ ์๋๋ก ์ ์ด๋ฌ!
๐SSR (Server Side Rendering)
- ์ด๋ฏธ ๋ง๋ค์ด์ ธ ์๋ HTML ํ์ผ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋๊ฒจ์ค๋ค.
- ์ฅ์
- **ํ์ด์ง ๋ก๋ฉ์ด ๋นจ๋ผ์ง๋ค.**
- **์ด๋ฏธ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฏ๋ก SEO๊ฐ CSR๋ณด๋ค ์ข๋ค.**
- ๋จ์
- ์๋ก๊ณ ์นจ์ด ์ผ์ด๋ ๋๋ง๋ค ์ ์ฒด์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ์๋ฒ์์ ๋ค์ ์๋ก ๋ฐ์์์ผํ๋ค.
- ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ์๊ธธ ์ ์๋ค.
- nextJS์์ SSR ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ณ๋์ ์๋ฒ๊ฐ ๋์๊ฐ์ผํ๋ค.
- ์๋ฒ์์ ํ์ด์ง์ ์์๋ค ์ค ๋ฐ๋ก ๋ํ๋์ผ ํ๋ ๊ฒ๋ค์ ์ง์ ํ์ฌ์ ์๋ฒ์ ๋ฏธ๋ฆฌ ์ ๋ก๋ ํ๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด ์ฒซ ๋ก๋ฉ์ ๋น ๋ฅด๊ฒ + CSR์ ์ฅ์ ์ ์ด๋ฆฌ๋ ์ฝ๋ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
Next.js ํ๋ก์ ํธ๋ฅผ ์ธํ ํ ๋ค yarn start ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ ๋ ์คํ๋๋ ์ฝ๋๋ฅผ nextjs github ๋ ํฌ์งํ ๋ฆฌ์์ ์ฐพ์ ๋ค, ํด๋น ํ์ผ์ ๋ํ ๊ฐ๋จํ ์ค๋ช ์ ์ฒจ๋ถํด์ฃผ์ธ์.
pages/_app.js๊ฐ ์คํ
import '../styles/globals.css'
function MyApp({Component, pageProps}) {
return <Component {...pageProps}
}
export default MyApp
- `_app`์ ์๋ฒ๋ก ์์ฒญ์ด ๋ค์ด์์ ๋ ๊ฐ์ฅ ๋จผ์ ์คํ๋๋ ์ปดํฌ๋ํธ๋ก, ํ์ด์ง์ ์ ์ฉํ ๊ณตํต ๋ ์ด์์์ ์ญํ
- ์ดํ `_document.js`๊ฐ ์คํ๋์ด _app.js์์ ๊ตฌ์ฑํ html์ด ์ด๋ค ํํ๋ก ๋ค์ด๊ฐ์ง ๊ตฌ์ฑ
Reference
https://heokknkn.tistory.com/29
https://merrily-code.tistory.com/154
https://velog.io/@kjh1551/SPA-SEO-SSR-CSR-TTV-TTI-nextJS#seo-search-engine-optimization
https://hanamon.kr/spa-mpa-ssr-csr-%EC%9E%A5%EB%8B%A8%EC%A0%90-%EB%9C%BB%EC%A0%95%EB%A6%AC/
'Development > React.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] React Life Cycle ; ๋ฆฌ์กํธ ์๋ช ์ฃผ๊ธฐ (0) | 2023.01.14 |
---|---|
SPA / CSR / TTI / TTV / SEO / Metaํ๊ทธ / Opengraph (0) | 2022.10.14 |
[React]Modal ํ์ ์ ๋ท๋ฐฐ๊ฒฝ ์คํฌ๋กค ๋์ง ์๊ฒ ํ๊ธฐ (0) | 2022.08.13 |
๋ ธ๋ง๋์ฝ๋ React JS ํด๋์ค #3 typescript (0) | 2022.06.29 |
๋ ธ๋ง๋์ฝ๋ React JS ํด๋์ค #2 styled components - log (0) | 2022.06.28 |
๋๊ธ