React.js๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ํญ์ webpack๊ณผ ๊ฐ์ ๋ชจ๋ ๋ฒ๋ค๋ฌ ํด์ ์ฌ์ฉํ๊ฒ ๋๋ค. ์นํฉ ๊ณต์ ์ฌ์ดํธ์์ ์๊ฐํ๋ ์ปจ์ ์ ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ ์ ์ ๋ชจ๋ ๋ฒ๋ค๋ฌ๋ผ๊ณ ๋งํ๋ค.
๋ชจ๋ ๋ฒ๋ค๋ฌ๋ ์ฌ๋ฌ ๋ค๋ฅธ ํ์ผ๋ค(JavaScript, LESS, CSS, JSX, ESNext ๋ฑ)์ ๋ฐ์์ ํ๋์ ํ์ผ๋ก ๋ฌถ์ด์ค๋ค.
์ด๋ ๊ฒ ์ฌ๋ฌ ๋ค๋ฅธ ํ์ผ๋ค์ ๋ฐ์ ํ๋์ ํ์ผ๋ก ๋ฌถ์ด์ฃผ์ด ์๊ธฐ๋ ์ด์ ์ ํฌ๊ฒ ๋ชจ๋์ฑ๊ณผ ๋คํธ์ํฌ ์ฑ๋ฅ์ด ์๋๋ฐ, ๋ชจ๋์ฑ์ ์์ค ์ฝ๋๋ฅผ ์์ ํ๊ธฐ ์ฝ๊ฒ ์ฌ๋ฌ ๋ถ๋ถ์ด๋ ๋ชจ๋๋ก ๋๋ ์ ๋ค๋ฃฐ์ ์๊ฒ ํด์ฃผ์ด ํ ์์ ๋ฑ์ ํ์ ์ ์ ๋ฆฌํ๋ค.
๋ ๋คํธ์ํฌ ์ฑ๋ฅ์ ์ธก๋ฉด์์๋ ์์กด ๊ด๊ณ๊ฐ ์๋ ์ฌ๋ฌ ํ์ผ์ ๋ฌถ์ ๋ฒ๋ค์ ๋ธ๋ผ์ฐ์ ๊ฐ 1๋ฒ๋ง ์ฝ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ์ฑ๋ฅ์ด ์ข์์ง๋ค. ๊ฐ script ํ๊ทธ๊ฐ http ์์ฒญ์ ๋ง๋ค์ด๋ด๋ฏ๋ก http ์์ฒญ๋ง๋ค ์ฝ๊ฐ์ ์๊ฐ ์ง์ฐ์ด ๋ฐ์ํ๊ฒ ๋๋๋ฐ ๋ชจ๋ ์์กด ๊ด๊ณ๋ฅผ ํ ํ์ผ์ ๋ฃ์ผ๋ฉด ๋ชจ๋ ํ์ผ์ 1ํ์ http ์์ฒญ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ด, ์ถ๊ฐ ์๊ฐ์ง์ฐ์ ๋ฐฉ์งํ ์ ์๋ค.
์นํฉ์ ์ปดํ์ผ ์ด์ธ์๋ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฉ์ด๋ฆฌ๋ก ๋๋ ์ ํ์ํ ๋ ๊ฐ๊ฐ์ ๋ก๋ฉํ ์ ์์ผ๋ฉฐ, ๊ณต๋ฐฑ, ์ค๋ฐ๊ฟ, ๊ธด ๋ณ์ ์ด๋ฆ, ๋ถํ์ํ ์ฝ๋ ๋ฑ์ ์์ ์ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ค๋ค. ์ฝ๋์ ๊ธฐ๋ฅ์ ํ ์คํธํด์ผ ํ๋ ๊ฒฝ์ฐ ์ฝ๋๋ฅผ ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง์ถฐ ๋ณด๋ด์ค ์ ์์ผ๋ฉฐ ์์ค ์ฝ๋๊ฐ ๋ฐ๋๋์ง ๊ฐ์งํด์ ๋ณ๊ฒฝ๋ ๋ชจ๋๋ง ์ฆ์ ๊ฐฑ์ ํด์ฃผ๋ ๊ธฐ๋ฅ๋ ์๋ค.
์นํฉ์ ํต์ฌ ๊ฐ๋
์นํฉ์ ์ฅ์
- ๋ชจ๋์ฑ : ๋ชจ๋ ํจํด์ ์ฌ์ฉํ์ฌ ๋ชจ๋์ ์ธ๋ถ์ export ํ๊ณ ๋์ค์ ๊ทธ ๋ชจ๋์ ํ์ํ ๊ณณ์ import ํ์ฌ ์ฌ์ฉํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์ฝ๋๋ฅผ ๋ณด๋ค ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ๊ท๋ชจ๋ก ๋๋ ์ ์๋ค.
- ์กฐํฉ : ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์๋ ์๊ณ ๋จ์ํ, ์ฌ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ถํ ์ ์๋ค. ์ปดํฌ๋ํธ๊ฐ ์์์ง๋ฏ๋ก ๋ ์ดํดํ๊ธฐ ์ฝ๊ณ ํ ์คํธ ํ๊ธฐ ์ฌ์์ง๋ค.
- ์๋ : ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋๊ณผ ์์กด ๊ด๊ณ๋ฅผ ํ๋์ ํด๋ผ์ด์ธํธ ๋ฒ๋ค๋ก ๋ฌถ์์ผ๋ก์จ ์ฌ๋ฌ ํ์ผ์ http ๋ก ์์ฒญํ์ง ์๊ณ , 1ํ์ http ์์ฒญ์ ํตํด ์๊ฐ ์ง์ฐ์ ์ค์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ์ง๋ค.
- ์ผ๊ด์ฑ : JSX๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํ์ผํด์ฃผ์ด ํ๋ก์ ํธ์์ ์์ง ํ์คํ๋์ง ์์ ์ต์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ฒจ์ ๋ค์ํ ESNext ๋ฌธ๋ฒ์ ์ง์ํ๋ฏ๋ก ์นํฉ๊ณผ ๋ฐ๋ฒจ์ ์ด์ฉํ์ฌ ๊ฐ๋ฐ์ ๊ณ์ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
++ React์์ CRA๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์ ํ ํ๋ค๋ฉด, webpack์ด ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ง์ ํ๋ก์ ํธ์ ์นํฉ ๊ธฐ๋ฅ์ ์ ํ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
๐ธ ์ถ์ฒ ๐ธ
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ React ] ์ํ ๊ด๋ฆฌ ํด ๋น๊ต ๋ถ์ Recoil vs Zustand (0) | 2023.05.21 |
---|---|
[ React ] React Props ์์๋ณด๊ธฐ. (0) | 2023.03.20 |
[ React ] React Element ์ Component์ ์ฐจ์ด์ (0) | 2023.02.24 |
[ React / Next ] Web Google Login ๊ธฐ๋ฅ ๊ตฌํ (gsi/client) (0) | 2023.01.08 |
[ React / Redux ] Redux ์ํ ๊ด๋ฆฌ ๊ฐ๋ ์ ๋ฆฌ. (0) | 2022.09.25 |