๋ชฉ์ฐจ
๋ฆฌ์กํธ ํด๋ ๊ตฌ์กฐ React JS Folder Structure RJSFS
๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ ์ ์, ์ฒด๊ณ์ ์ด๊ณ ํจ์จ์ ์ธ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ธ์ฐ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๋์ด๊ณ , ํ์ ๊ฐ์ ํ์ ์ ์ฉ์ดํ๊ฒ ํ๋ฉฐ, ํ๋ก์ ํธ์ ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ ์ค๋๋ค. ์ด ๊ธ์์๋ ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์ํ ํด๋ ๊ตฌ์กฐ์ ๋ํ ๊ถ์ฅ ์ฌํญ๊ณผ ํ์ ์ ๊ณตํ๊ณ ์ ํฉ๋๋ค.
ํ๋ก์ ํธ ๊ท๋ชจ์ ๋ฐ๋ฅธ ๊ตฌ์กฐํ
์๊ท๋ชจ ํ๋ก์ ํธ
์๊ท๋ชจ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ, ๋ณต์กํ ํด๋ ๊ตฌ์กฐ๋ณด๋ค๋ ๊ฐ๋จํ๊ณ ๋ช ํํ ๊ตฌ์กฐ๊ฐ ์ ๋ฆฌํฉ๋๋ค. ๊ฐ ์ปดํฌ๋ํธ์ ๊ด๋ จ ํ์ผ๋ค์ ๊ธฐ๋ฅ๋ณ๋ก ๊ทธ๋ฃนํํ์ฌ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- src
- components
- Header
- Header.js
- Header.css
- Footer
- Footer.js
- Footer.css
- Header
- pages
- Home
- Home.js
- Home.css
- About
- About.js
- About.css
- Home
- App.js
- index.js
- components
์ค๋๊ท๋ชจ ํ๋ก์ ํธ
์ค๋๊ท๋ชจ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ, ๊ธฐ๋ฅ๋ณ๋ก ํด๋๋ฅผ ๋๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋, ๊ณตํต ์ปดํฌ๋ํธ, ์ ํธ๋ฆฌํฐ ํจ์, ์ํ ๊ด๋ฆฌ ๋ก์ง ๋ฑ์ ๋ณ๋์ ํด๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค.
- src
- components
- Common
- Button
- Button.js
- Button.css
- Modal
- Modal.js
- Modal.css
- Button
- FeatureA
- FeatureA.js
- FeatureA.css
- FeatureB
- FeatureB.js
- FeatureB.css
- Common
- utils
- api.js
- helpers.js
- hooks
- useCustomHook.js
- state
- Context.js
- reducer.js
- App.js
- index.js
- components
๋๊ท๋ชจ ํ๋ก์ ํธ
๋๊ท๋ชจ ํ๋ก์ ํธ์์๋ ๋ชจ๋๋ณ๋ก ํด๋๋ฅผ ๋๋๊ณ , ๊ฐ ๋ชจ๋ ๋ด์์ MVC ํจํด์ด๋ ๋ค๋ฅธ ์ค๊ณ ํจํด์ ์ฌ์ฉํ์ฌ ์ถ๊ฐ์ ์ธ ๊ตฌ์กฐํ๋ฅผ ํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ ๋๋ค.
- src
- modules
- ModuleA
- Components
- Services
- Models
- ModuleB
- Components
- Services
- Models
- ModuleA
- shared
- Components
- Table
- Table.js
- Table.css
- Table
- Hooks
- Utils
- State
- Components
- App.js
- index.js
- modules
ํด๋ ๊ตฌ์กฐ์ ๋ํ ์ถ๊ฐ์ ์ธ ๊ณ ๋ ค ์ฌํญ
์ปดํฌ๋ํธ์ ์ฌ์ฌ์ฉ์ฑ
์ปดํฌ๋ํธ๋ ๊ฐ๋ฅํ ํ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐํ ๋๋ ๋ฒ์ฉ์ฑ์ ๊ณ ๋ คํ๊ณ , ์ฌ๋ฌ ๊ณณ์์ ํ์ฉํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ํ ๊ด๋ฆฌ
์ํ ๊ด๋ฆฌ๋ ๋ฆฌ์กํธ ํ๋ก์ ํธ์์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. Redux, MobX, Context API ๋ฑ ๋ค์ํ ์ํ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด์ ๋ง๋ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ธ์ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํ ์คํ
ํ ์คํธ ์ฝ๋๋ ํ๋ก์ ํธ์ ์์ ์ฑ์ ๋ณด์ฅํ๋ ์ค์ํ ์์์ ๋๋ค. ๊ฐ ์ปดํฌ๋ํธ ๋๋ ๊ธฐ๋ฅ๋ณ๋ก ํ ์คํธ ํ์ผ์ ๊ด๋ฆฌํ๊ณ , ๋ณ๋์ ํ ์คํธ ํด๋๋ฅผ ๋ง๋ค์ด ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค.
๋ฆฌํฉํ ๋ง๊ณผ ์ ์ง๋ณด์
ํ๋ก์ ํธ๊ฐ ์ฑ์ฅํ๋ฉด์ ๋ฆฌํฉํ ๋ง์ ํ์์ ์ธ ๊ณผ์ ์ ๋๋ค. ํด๋ ๊ตฌ์กฐ๋ ์ ์ฐํ๊ฒ ๋ณ๊ฒฝ๋ ์ ์์ด์ผ ํ๋ฉฐ, ์ ์ง๋ณด์๊ฐ ์ฌ์์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ช ํํ๊ณ ์ผ๊ด๋ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฆฌ์กํธ ํ๋ก์ ํธ์ ํด๋ ๊ตฌ์กฐ๋ ํ๋ก์ ํธ์ ๊ท๋ชจ์ ๋ณต์ก์ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ์ค์ํ ๊ฒ์ ํ์ ๋ชจ๋๊ฐ ์ดํดํ๊ณ ๋ฐ๋ฅผ ์ ์๋ ๋ช ํํ๊ณ ์ผ๊ด๋ ๊ตฌ์กฐ๋ฅผ ์ธ์ฐ๋ ๊ฒ์ ๋๋ค. ์ด๋ ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ธ ์งํ๊ณผ ์ ์ง๋ณด์์ ํฐ ๋์์ด ๋ฉ๋๋ค.
ํค์๋:
๋ฆฌ์กํธ ํด๋ ๊ตฌ์กฐ, ์๊ท๋ชจ ํ๋ก์ ํธ, ์ค๋๊ท๋ชจ ํ๋ก์ ํธ, ๋๊ท๋ชจ ํ๋ก์ ํธ, ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ฑ, ์ํ ๊ด๋ฆฌ, ํ
์คํ
, ๋ฆฌํฉํ ๋ง, ์ ์ง๋ณด์, ๋ค์ด๋ฐ ์ปจ๋ฒค์
๋๊ธ