์ฐ๋ฆฌ๊ฐ ์ฝ๋ฉํ src ํด๋
์ฌ์ค ๋ ธ๋ง๋์ฝ๋๋ฅผ ๋ฐ๋ผํ๊ธฐ ๋๋ฌธ์.. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒ ํ๋ก์ ํธ๋ ๊ทธ ์์์ ์ถฉ๋ถํ ์ปค๋ฒ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํด๋๊ตฌ์กฐ์ ๋ํ ๊ณ ๋ฏผ์ ํ ํ์๊ฐ ์์์ง๋ง ๊ทธ๋๋ ํด๋ ์คํธ๋ญ์ณ์ ๊ด์ฌ์ด ๋ง์ ๋๋ ์ฐพ์๋ณด์๋ค!
ํ๋ฌํฐ์ ๋ค๋ฅด๊ฒ, ๋๋ถ๋ถ ๊ฑฐ์ ํต์ผ๋ ํด๋ ์คํธ๋ญ์ณ๋ฅผ ๊ฐ์ถ์ด ์์ ์ ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์์๋ค.
๊ทธ๋์ ์์ผ๋ก ๋ด๊ฐ ๋ณด๊ณ ๊ณ์ํด์ ์ฐธ๊ณ ํ ๋งํ ๋ด์ฉ์ ๊ฐ์ ธ์๋ดค๋ค ..!
CRA์ ์ด๊ธฐ ํด๋๊ตฌ์กฐ
my-app
โโโ node_modules
โโโ public
โโโ src
โโโ .gitignore
โโโ package.json
โโโ README.md
- node_modules ํ์ฌ ํ๋ก์ ํธ์ ํฌํจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ค์น๋์ด ์๋ ํด๋๋ก ๋ณดํต ๊น๊ณผ ๊ฐ์ ์ ์ฅ์์ ์ฌ๋ฆด ๋๋ ์ด ํด๋๋ฅผ ํจ๊ป ์ฌ๋ฆฌ์ง ์์ต๋๋ค.
- public index.html๊ณผ ๊ฐ์ ์ ์ ํ์ผ์ด ํฌํจ๋๋ ๊ณณ์ผ๋ก ์ปดํ์ผ์ด ํ์ ์๋ ํ์ผ๋ค์ด ์์นํ๋ ํด๋์ ๋๋ค.
- src ๋ฆฌ์กํธ ๋ด๋ถ์์ ์์ฑํ๋ ๊ฑฐ์ ๋ชจ๋ ํ์ผ๋ค์ด ์ด ํด๋ ๋ด๋ถ์์ ์์ฑ๋๋ฉฐ ์ด ํด๋์ ์๋ ํ์ผ๋ค์ ๋ช ๋ น์ด์ ๋ฐ๋ผ JS๋ก ์ปดํ์ผ์ด ์งํ๋ฉ๋๋ค.
- .gitignore ๊น์ ํฌํจํ๊ณ ์ถ์ง ์์ ํ์ผ์ ์ด๋ฆ ํน์ ํด๋๋ฑ์ ์ ๋ ฅํ๋ ํ์ผ์ ๋๋ค.
- package.json ํ๋ก์ ํธ์ ๊ด๋ จ๋ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ(ํ๋ก์ ํธ์ ์ด๋ฆ, ๋ฒ์ ๋ฑ)๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค.๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋ node_modules ๋์ ์ ์ด package.json์ ๊น์ ํฌํจํ์ฌ ์ฌ๋ฆฌ๊ฒ ๋๋ฉฐ ํ์ ๋๊ตฐ๊ฐ๊ฐ ํ๋ก์ ํธ๋ฅผ ํด๋ก ํ ๋ ์ด package.json์ ์ ํ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชฉ๋ก์ ๊ธฐ์ค์ผ๋ก npm์์ ์ค์นํ๊ฒ ๋ฉ๋๋ค.
- README.md ๋ณดํต ๊น๊ณผ ๊ฐ์ ์ ์ฅ์์ ์ฌ๋ฆด ๋ ํ๋ก์ ํธ์ ๋ํ ์ค๋ช ์ ์์ฑํ๋๊ณณ์ผ๋ก ํด๋น ์ ์ฅ์์ ์ง์ ํ๋ฉด ๊ฐ์ฅ ๋จผ์ ๋์์ง๋๋ค.
src ๋ด๋ถ ํด๋๊ตฌ์กฐ
โโ src
โโ components
โโ assets
โโ hooks (= hoc)
โโ pages
โโ constants
โโ config
โโ styles
โโ services (= api)
โโ utils
โโ contexts
โโ App.js
โโ index.js
- components ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ค์ด ์์นํ๋ ํด๋์ ๋๋ค.์ปดํฌ๋ํธ๋ ๋งค์ฐ ๋ง์์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ด ํด๋ ๋ด๋ถ์์ ํ์ํด๋๋ก ์ถ๊ฐ๋ก ๋ถ๋ฅํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- assets ์ด๋ฏธ์ง ํน์ ํฐํธ์ ๊ฐ์ ํ์ผ๋ค์ด ์ ์ฅ๋๋ ํด๋์ ๋๋ค.์ด๋ฏธ์ง์ ๊ฐ์ ํ์ผ๋ค์ public์ ์ง์ ๋ฃ๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ ๋์ ์ฐจ์ด๋ ์ปดํ์ผ์์ ํ์ํ์ง ์ฌ๋ถ์ ๋๋ค.ํ๋น์ฝ๊ณผ ๊ฐ์ด index.html๋ด๋ถ์์ ์ง์ ์ฌ์ฉํ์ฌ ์ปดํ์ผ ๋จ๊ณ์์ ํ์ํ์ง ์์ ํ์ผ๋ค์ public์๋ฐ๋ฉด, ์ปดํฌ๋ํธ ๋ด๋ถ์์ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง ํ์ผ์ธ ๊ฒฝ์ฐ ์ด assets ํด๋์ ์์น์์ผ์ผ ํฉ๋๋ค.
- hooks (= hoc) ์ปค์คํ ํ ์ด ์์นํ๋ ํด๋์ ๋๋ค.
- pages react router๋ฑ์ ์ด์ฉํ์ฌ ๋ผ์ฐํ ์ ์ ์ฉํ ๋ ํ์ด์ง ์ปดํฌ๋ํธ๋ฅผ ์ด ํด๋์ ์์น์ํต๋๋ค.
- constants ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์๋ค์ ์ ์ํ ํ์ผ๋ค์ด ์์นํ๋ ํด๋์ ๋๋ค.
- config config ํ์ผ์ด ๋ง์ง ์์ ๊ฒฝ์ฐ ๋ณดํต ์ต์์์ ์์น์์ผ๋์ง๋ง ์ฌ๋ฌ๊ฐ์ config ํ์ผ์ด ์์ ๊ฒฝ์ฐ ํด๋๋ก ๋ถ๋ฆฌํ๊ธฐ๋ ํฉ๋๋ค.
- styles css ํ์ผ๋ค์ด ํฌํจ๋๋ ํด๋์ ๋๋ค.
- services (= api)
๋ณดํต api๊ด๋ จ ๋ก์ง์ ๋ชจ๋ ํ์ผ์ด ์์นํ๋ฉฐ auth์ ๊ฐ์ด ์ธ์ฆ๊ณผ ๊ด๋ จ๋ ํ์ผ์ด ํฌํจ๋๊ธฐ๋ ํฉ๋๋ค.
- utils ์ ๊ทํํ์ ํจํด์ด๋ ๊ณตํตํจ์ ๋ฑ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ์ ํธ ํ์ผ๋ค์ด ์์นํ๋ ํด๋์ ๋๋ค.
- contexts contextAPI๋ฅผ ์ฌ์ฉํ ๋ ๊ด๋ จ ํ์ผ๋ค์ด ์์นํ๋๊ณณ์ผ๋ก ์ํ๊ด๋ฆฌ๋ฅผ ์ํด contextAPI ๋์ redux๋ฅผ ์ฌ์ฉ ํ ๊ฒฝ์ฐ ํด๋ ์ด๋ฆ์ store๋ก ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
์ ๋ด์ฉ์ ๋ฐ๋ผ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌ ํ ๊ฒฝ์ฐ ์ด๋ ๊ฒ ์ฉ๋์ ๋ง๊ฒ ํด๋๋ณ๋ก ์ ์ ํ๊ฒ ๋ถ๋ฆฌ๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
'๐ค Web > ๐ React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ๋ฐ์๋๊ตฌ ์ผ๋ฌด์ฅ๊ฒ ์ฐ๊ธฐ (0) | 2023.02.17 |
---|---|
๋ฐ์ํ ์น์์์ ์ปจํ ์ด๋ ํฌ๊ธฐ (0) | 2023.02.17 |
React validation ๋ฆฌ์กํธ ์ ํจ์ฑ ๊ฒ์ฌ Formik VS REACT Hook form (0) | 2023.01.12 |
react iframe์ ์ํด ํด๋ฆญ ์๋๋ ๋ฌธ์ ํด๊ฒฐ (0) | 2023.01.06 |
๋ฆฌ์กํธ ํ์ ์ฐฝ/๋ชจ๋ฌ/๋ค์ด์ผ๋ก๊ทธ ๊ตฌํํ๊ธฐ, ์ญ์ ๋ฒํผ ๊ตฌํ, ๊ตฌ์กฐ๋ถํดํ ๋น (0) | 2023.01.05 |
๋๊ธ