-
[React] ๋งฅ(M2ํ๊ฒฝ)์์ React ํ๊ฒฝ ์ธํ ํ๊ธฐ & ํ๋ก์ ํธ ์คํ
2024. 6. 8.
์์ฆ ์๋ก์ด ๊ฑฐ ๊น ์ผ์ด ๋ง๋ค์ค....
์บก์คํค ๋์์ธ์์ ํ๋ก ํธ 0.2์ธ๋ถ(?) ์ ๋งก๊ฒ ๋์ด์ ์ด๋ฒ์ ๋งฅ์์ React ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํด๋ณด์์ต๋๋ค
๋ฆฌ์กํธ.. ์ฐ๋จนํด๋ณธ๋ค ํด๋ณธ๋ค ํ๋ฉด์ ๊ฒฐ๊ตญ ์ด๋ ๊ฒ ๊น์๋ณด๋ค์ฌ
1. Node.JS ์ค์น
Node.JS๋?
๋ง๊ฐ์ ๊ฐ๋ ์ ๋ฆฌ!
Node.js๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์=ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ ํ๊ฒฝ์ ๋๋ค
์ฝ๊ฒ ๋งํด์ JavaScript ์คํํ๊ฒฝ ! ์ธ ๊ฒ์ ๋๋ค
์๋ฐ์คํฌ๋ฆฝํธ๋ html์ ์กฐ์ํด์ ์นํ์ด์ง๋ฅผ ๋ค์ด๋๋ฏนํ๊ฒ ๋ฐ๊ฟ์ฃผ๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก, ์คํฌ๋ฆฝํธ ์ธ์ด๋ ์น ๋ธ๋ผ์ฐ์ ํ๋ก๊ทธ๋จ ์์์๋ง ๋์์ ํฉ๋๋ค
์ด๋ฌํ ์คํฌ๋ฆฝํธ ์ธ์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํจํฐ์์ ์คํํ ์ ์๋๋ก ํ๊ฒฝ์ ๋ง๋ จํ๋ ๊ฒ์ด Node.js์ ๋๋ค๋ ธ๋๋ ์๋ฒ ์ฌ์ด๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ์คํดํ๊ธฐ ์ฌ์ด๋ฐ, ํ๋ก๊ทธ๋จ(ํ๊ฒฝ)์ ๋๋ค!
์ด์จ๋ ์ด๋ฌํ ์ญํ ์ ํ๋ Node.js๋ฅผ ์ค์นํด๋ด ์๋ค
node.js ์ค์น ์ฌ๋ถ ํ์ธ
Mac ํฐ๋ฏธ๋์์ node -v ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ๊น๋ ค์์ง ์์์ ๋์๋Command not found: node ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋น๋๋น
์ ๋ ๋ฐ๋ก ๊น์์ค ์ ์ด ์๋๋ฐ ๋ค๋ฅธ ๊ฑฐ ์ค์นํ๋ค๊ฐ ๊ฐ์ด ๊น๋ ธ๋๋ณด๋ค์..? ๋ฌดํผ ๊น๋ ค์์ผ๋ฉด ๋ฒ์ ์ด ๋น๋๋ค
Node.js ์ค์น
์ค์น ๋งํฌ
https://nodejs.org/en/LTS๋ก ๋ค์ด๋ก๋!! ์ข ๋ ์์ ์ ์ธ ๋ฒ์ ์ผ๋ก ๊น์์ค๋๋ค
์ด๋ ๊ฒ .pkg ํ์ผ์ด ๋ค์ด๋ก๋ ๋๋ฉด ๋๋ธํด๋ฆญํด์ ์คํ!
์ค์น ํ๋ก๊ทธ๋จ ์ญ ์งํํด์ฃผ์๋ฉด ๋จ๋๋ค
๊ทธ ํ ์ ๋๋ก ๊น๋ ธ๋์ง ์๊น์ ๋ช ๋ น์ด
node -v
์ ๋ ฅํด์ ํ์ธํด๋ณด์ธ์!
์ ๋๋ก ์ค์น๋์ผ๋ฉด ๋ฒ์ ์ด ๋น๋๋ค
2. NPM ์ค์น ํ์ธ
NPM(Node Package Manager): Node.js์์ ์ฌ์ฉํ๋ ์ฌ๋ฌ ๋ชจ๋์ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ
ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋๋ค
npm -v
Node js๋ฅผ ์ค์นํ๋ฉด npm๋ ์๋์ผ๋ก ๊ฐ์ด ์ค์น๊ฐ ๋ผ์, ๋ฐ๋ก ๊น์ง ์์๋ ์ ์์ ์ผ๋ก ์ค์น๊ฐ ๋์๋ค๋ฉด ๋ฒ์ ์ด ์ถ๋ ฅ๋ ๊ฒ์ ๋๋ค
3. (์ ํ) yarn ์ค์น
yarn์ npm๊ณผ ๋์ผํ๊ฒ ๋ ธ๋์ ํจํค์ง ๊ด๋ฆฌ์์ด๋,
npm์ ๋นํด ํจํค์ง ์ค์น ์๋๊ฐ ๋น ๋ฅด๊ณ ๋ณด์์ด ๋ ์์ ํ๋ค๋ ๋ฑ ์ฅ์ ์ด ์์ต๋๋ค.
์ฌ๋ฌ ๊ธ๋ค์ ๋ณด๋ yarn์ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ง๋ง ์ ๋ ์์ผ๋ก ์ธ ์ผ์ด ๋ง์ด ์์ ๊ฒ ๊ฐ์ ๊ตณ์ด ์ค์นํ์ง๋ ์์์ต๋๋ค..
์ค์นํ๋ ค๋ฉด ์๋ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค
npm install --global yarn
ํน์
brew install yarn
์ค์น ํ์ธ
yarn --version
4. React ์ค์น
์ด์ ์ฐ์ผ๋ก ๋ฆฌ์กํธ๋ฅผ ์ค์นํด๋ด ์๋ค
npm install -g create-react-app
yarn์ ๊น์๋ค๋ฉด
yarn global add create-react-app
create-react-app(CRA)๋?
๋ฆฌ์กํธ ๊ฐ๋ฐ์ ๋ฐ๋ก ์์ํ ์ ์๋๋ก ํ๋ก์ ํธ ๊ตฌ์กฐ , ์ค์ ๋ฑ์ ์๋์ผ๋ก ์ธํ ํด์ฃผ๋ ๋๊ตฌ์ด๋ผ? ์ค์น๊ฐ ๋๊ธฐ๋ ํ์ง๋ง ํน์ ํจํค์ง๋ค์ด ๋ ์ด์ ์ง์๋์ง ์๊ฑฐ๋, ๋ณด์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ง ์๋๋ค๋ ๋ฉ์ธ์ง๊ฐ ๋ด๋ค์
ํ์ฌ ํ๋ก์ ํธ ์งํ์ ํฐ ๋ฌธ์ ๊ฐ ์์๊ฑฐ ๊ฐ์์ ์ผ๋จ์ ๋์ด๊ฐ์๋ค
์ค์น ํ์ธ
create-react-app -V
๋๋ฌธ์ v์ธ๊ฑฐ ์ฃผ์ํ์ญ์ผ
5. ์ฝ๋ฉ ํด ์ค์น (VSCode)
๊ฐ๋ฐ์ ์งํํ ํ๋ก๊ทธ๋จ์ ์ค์นํฉ๋๋ค
6. ํ๋ก์ ํธ ์์ฑ & ์คํ
ํ๋ก์ ํธ ์์ฑ
cd "ํ์ผ๊ฒฝ๋ก"๋ฅผ ํตํด ํ๋ก์ ํธ ํด๋๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๊ฒฝ๋ก๋ก ์ด๋ํด์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค
npx create-react-app ํ๋ก์ ํธ๋ช
์ ๋ ฅํ๋ฉด ์ง์ ํ ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ํด๋๊ฐ ์๊ธฐ๊ณ , ๋ฆฌ์กํธ ์ฑ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๊ธฐ๋ณธ ํ์ผ๋ค๊ณผ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค
์ ๋ ๊ธฐ์กด ํ๋ก์ ํธ๊ฐ ์ด๋ฏธ ์์ฑ๋์ด ์๊ณ ๊ทธ๊ฑธ ์คํํ๊ธฐ ์ํด ํ๊ฒฝ ์ธํ ์ ํ ๊ฒ์ด๋ผ์ ์์ฑ์ ํ์ง ์์์ด๋๋ค
ํ๋ก์ ํธ ์คํ
ํฐ๋ฏธ๋์์ ํ๋ก์ ํธ๊ฐ ์์ฑ๋ ํด๋๋ก ์ด๋ํด์, ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ (ํน์ npm run start)
npm start
๊ทธ๋ผ ๋ก์ปฌ ๋ธ๋ผ์ฐ์ ์์ http://localhost:3030 ์ผ๋ก ๋ฆฌ์กํธ ์ฑ์ด ๋์์ง๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค!
7. ์คํ ์ข ๋ฃ
ํฐ๋ฏธ๋์์ control+c ๋๋ฅธ ๋ค์์ exit ๋ช ๋ น์ด ์ ๋ ฅํ๋ฉด ๋ฆฌ์กํธ ์ฑ์ด ์คํ์ข ๋ฃ๋ฉ๋๋ค!
๋๊ธ