ํธ์คํ
์ด๋ ์ ๋ณด๋ค์ด ํธ์คํธ ์ปดํจํฐ(์น ์๋ฒ)์ ์ ์ฅ๋์ด ์๋ค๊ฐ ์ฌ์ฉ์์ ์์ฒญ์ด ์ค๋ฉด ์ธ์ ๋ ์ง ์๋ตํ๋ค.
3์ธ๋ ์น ์๋น์ค๋ฑ์ฅ
SPA(Single Page Application) ๋ ๋ง ๊ทธ๋๋ก ํ ๊ฐ์ ํ์ด์ง๋ก ์ด๋ฃจ์ด์ง ์ดํ๋ฆฌ์ผ์ด์
.
html,js,dataํ์ผ์ ์ฒ์ ํ ๋ฒ๋ง ์ก์์ ํ๊ณ ๊ทธ ๋ค๋ก๋ ์ค์๊ฐ ๋ฐ์ดํฐ๋ง ์ฃผ๊ณ ๋ฐ๋๋ค.
๋จ ํ๋์ HTML ๋ฌธ์๋ก๋ง ๋์๊ฐ๋ ์นํ์ด์ง๋ก ์ฌ์ฉ์์ ์์ฒญ์๋ฐ๋ผ ๋ด์ฉ์ด ๋์ ์ผ๋ก ๋ฐ๋๋ค!
๋์ ์ด ์ฌ์ดํธ๊ฐ ๋ง์ด ์ฐ์ด๋ฉด์ ๋ ๋๋ง ๋ฐฉ์์ ๋ฐ๋ผ CSR๊ณผ SSR๋ก ๋๋๋ค
npm create-react-app my-app
์ ๋ช ๋ น์ด๋ก ์ด๊ธฐ ์ค์ ์์ด๋ React๊ธฐ๋ฐ์ spa์ฌ์ดํธ๋ฅผ ๊ตฌํํ ์ ์๋ค. ๋ฐ๋ฒจ๊ณผ ์นํฉ๊ณผ ๊ฐ์ด ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ํ์ํ ๋ค์ํ ํจํค์ง๊ฐ ํฌํจ๋์ด์์ผ๋ฉฐ, ํ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํด์ค๋ค. ์ด๊ธฐ ํด๋ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค
1)node.modules 2)package.json 3).gitignore
ํ์ง๋ง CRA ๋ Only CSR ๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ฒ์์์ง์ ๊ฒ์๋์ง ์๋๋ค.
์น ํ์ด์ง์ ๋ ๋๋ง์ด ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ์ธก์์ ์ผ์ด๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ต์ด๋ก ๋ถ๋ฌ์จ html์ ๋ด์ฉ์ ๋น์ด์๊ณ html,body ํ๊ทธ๋ง ์กด์ฌํ๊ฒ ๋๋ค.
js ํ์ผ์ ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด ํด๋น jsํ์ผ์ด dom์ ๋น html ์์ ๊ทธ๋ฆฌ๊ธฐ ์์ํ๋ค.
๋ผ์ฐํ ์ ํ๋๋ผ๋ html ์์ฒด๊ฐ ๋ฐ๋๋ ๊ฒ์ด ์๋๋ผ JS ์ฐจ์์์ ์๋ก์ด ํ๋ฉด์ ๊ทธ๋ ค๋ธ๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋ฐ์ดํฐ ์์ ํธ๋ํฝ์ด ํ์ ํ ๊ฐ์ํ๊ณ ๋จ ํ๋ฒ์ ๋ ๋๋ง๋ง ์์ผ๋ฏ๋ก ํ์ด์ง ์ด๋์ด ๋น ๋ฅด๋ค.
SEO ์ฌ์ฉ์ด ๋ถ๊ฐ.
์ฝ๋ spliting์ผ๋ก ์ด๊ธฐ ๋ ๋๋ง์ด ๋๋ฆฌ๋ค
1 SEO์ธก๋ฉด์์ ์ ๋ฆฌ
2 UX ์ธก๋ฉด์์ ์ ๋ฆฌ
CSR์ ๋นํด ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ ์๋๋ ๋ฆ์ด์ง์ง๋ง, ์ ์ฒด์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ์ฝํ
์ธ ๊ตฌ์ฑ์ด ์๋ฃ๋๋ ์์ ์ ๋นจ๋ผ์ง๋ค.
ํ์ด์ง๋ฅผ ์๋ชป ๊ตฌ์ฑํ ๊ฒฝ์ฐ CSR์ ๋นํด ์๋ฒ ๋ถํ๊ฐ ์ปค์ง๊ฑฐ๋, ์ฒซ ๋ก๋ฉ์ด ๋งค์ฐ ๋๋ ค์ง ์ ์๋ค.