๐Ÿ–ฅFrontEnd/React

TIL) ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ, ๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ, Create React App์ด๋ž€? ๋ฆฌ์•กํŠธ ์‹คํ–‰ํ•˜๊ธฐ

hellohailie 2022. 6. 3. 00:52

 

์ปดํฌ๋„ŒํŠธ๋ž€?

ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ฝ”๋“œ ๋ฌถ์Œ์ด๋‹ค.

// UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•„์ˆ˜ ์š”์†Œ์ด๋‹ค. 

// ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฆฌ์•กํŠธ์˜ ์‹ฌ์žฅ์ด๋‹ค.

 

const Component = () => {
	return (
    	<>
        	<div>{์ •์˜1}</div>
            <div>{์ •์˜2}</div>
        </>
    )
};

 

์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค๊ณ  ์กฐํ•ฉํ•ด์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 

 

๋ชจ๋“  ๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๊ทผ์›(root)์ด ๋˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ด ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ๊ทผ์›์˜ ์—ญํ• ์„ ํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ณ„์ธต์  ๊ตฌ์กฐ(hierarchy)๋ฅผ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ํ˜•์ƒํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โžฅ ์œ„ ๊ทธ๋ฆผ์—์„œ ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์ธ A๊ฐ€ root (๊ทผ์›)์ด ๋˜๊ณ , ๋‹ค๋ฅธ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. 

 

 

โžฅ ์ด๋Ÿฌํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ๋ณด๋“ฏ์ด ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ๊ฐ์ž ๊ณ ์œ ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด์„œ UI์˜ ํ•œ ๋ถ€๋ถ„์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋‹ค.

 

๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ณ  ์ด๋“ค์„ ํ•œ๋ฐ ๋ชจ์•„ ๋ณต์žกํ•œ UI๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋” ๋‚˜์•„๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ๋Š” ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 


 

Create React App = ํ„ฐ๋ฏธ๋„ ์ž…๋ ฅ ํ•œ๋ฒˆ์œผ๋กœ ๋ฐ”๋กœ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค!

 

Create React App์ด๋ž€?

=> ๋ฆฌ์•กํŠธ SPA(single page application)๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง„ ํˆด ์ฒด์ธ์œผ๋กœ ๋ณต์žกํ•œ ๊ฐœ๋ฐœ ์„ธํŒ…์„ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. 

 

1. ํ„ฐ๋ฏธ๋„ ์‹คํ–‰ ํ›„, node js ๋ฒ„์ „๊ณผ npm ๋ฒ„์ „ ํ™•์ธํ•œ๋‹ค.

git --version

โžฅ git version ํ™•์ธ์„ ํ†ตํ•ด git์ด ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์—ฌ๋ถ€๋„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

node --version

โžฅ node js ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ฉด์„œ node js๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

npm --version

 


Create React App๋Š” npx๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 

์ถ”๊ฐ€ํ•™์Šต

2022.06.06 - [JavaScript] - nvm,npm, npx, yarn๋ฅผ ์•Œ์•„๋ณด์ž!

 

npx create-react-app react-random-proverb

 

 

์ด ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ค๋ฉด, ์„ฑ๊ณต์ ์œผ๋กœ react-random-proverb๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ๊ฑฐ๋‹ค!

 

 

 

 

package.json ํŒŒ์ผ์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ , ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. 

npm run start

๊ทธ๋Ÿผ,

๐Ÿ‘‡ ์•„๋ž˜ ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. 

 

์ฃผ์˜์‚ฌํ•ญ!

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋•Œ์ฒ˜๋Ÿผ vs code์—์„œ ํฌ๋กฌ์œผ๋กœ ์—ด๊ธฐ๋ฅผ ํ•˜๋ฉด ์›น ํŽ˜์ด์ง€ ์ƒ์—๋Š” ๋นˆ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค. 

 

๊ทธ ์ด์œ ๋Š”??

JSX๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” JS์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก Babel์„ ํ†ตํ•ด JS ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ค˜์•ผํ•œ๋‹ค. 

์ฆ‰,  Babel ์ž‘์—…์„ ํ•ด์•ผ ์›น๋ธŒ๋ผ์šฐ์ € ์ƒ์— ์ถœ๋ ฅ์ด ๋œ๋‹ค. 

 

ํ•ด๊ฒฐ๋ฐฉ์•ˆ!

ํ„ฐ๋ฏธ๋„์— npm run start ์ž…๋ ฅํ•˜๊ธฐ!