๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“— React

[React] CRA๋กœ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ…

by Tamii 2021. 4. 11.
๋ฐ˜์‘ํ˜•

create react app

CRA ์„ค์น˜ 

 

//npx create-react-app {ํ”„๋กœ์ ํŠธํŒŒ์ผ๋ช…}
npx create-react-app movie_app

 

 

https://rrecoder.tistory.com/96?category=955706

 

React ๋ฆฌ์•กํŠธ๋ž€, ๋ฆฌ์•กํŠธ ์ž‘์—…ํ™˜๊ฒฝ ์„ค์ •

์‚ฌ๋žŒ๋“ค์ด ์ข‹์•„ํ•˜๊ณ , ์ธ๊ธฐ์žˆ๊ณ  , ๊ฐ„ํŽธํ•œ ํ”„๋ ˆ์ž„์›Œํฌ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์ด๊ธฐ๋•Œ๋ฌธ์— ๋ฐฐ์šฐ๋Š”๋ฐ๋„ ๋ถ€๋‹ด์ด ์—†๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ์ตํ˜€๋ณด๊ณ  ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๋…ธ๋งˆ๋“œ์ฝ”๋”์˜ ReactJS ๋กœ ์˜ํ™” ์›น์„œ๋น„์Šค ๋งŒ

rrecoder.tistory.com

์ด๋ ‡๊ฒŒ ์„ค์น˜๋ฅผ ํ•˜๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•ˆ์•„๋„ ๋  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋„˜์นœ๋‹ค.

๋‚˜์˜ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ์ง€์›Œ๋„ ๋  ํŒŒ์ผ๋“ค์„ ์‹ธ๊ทธ๋ฆฌ ์ง€์›Œ๋ณด์ž!!

 

 

 

1๏ธโƒฃ ์‚ญ์ œ

1๏ธโƒฃ- 1 ) ํŒŒ์ผ ์‚ญ์ œ

์ดˆ๊ธฐ ์ƒํ™ฉ

์ด๋ ‡๊ฒŒ ํŒŒ์ผ๋“ค์ด ๋งŽ์€๋ฐ

 

Public Src

favicon.ico
index.html
logo192.png
logo512png
manifest.json
robots.txt

App.css
App.js
App.test.js
index.css
index.js
logo.svg
reportWebVitals.js
setupTests.js

์ด๋ ‡๊ฒŒ๋งŒ ๋‚จ๊ธฐ๊ณ  ์‹น๋‹ค ์ง€์›Œ์ค€๋‹ค.

 

๊ทธ์™ธ ๊ธฐ๋ณธ ํŒŒ์ผ๋“ค index.js, index.html, App.js, App.css ์—์„œ๋„ ํ•„์š” ์—†๋Š” ๋ถ€๋ถ„๋“ค์„ ์ง€์›Œ์ค€๋‹ค.

 

 

1๏ธโƒฃ- 2๏ธโƒฃ) ํŒŒ์ผ ์ˆ˜์ •

<index.js>

 

์ฃผ์„๊ณผ ์ง€์›Œ๋ฒ„๋ฆฐ ํŒŒ์ผ๋“ค์˜ Import๋ฅผ ์‚ญ์ œํ•˜์—ฌ 

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

 

 

<index.html>

์œ„์˜ ๊ฒฝ์šฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฃผ์„๊ณผ ํ•„์š”์—†๋Š” ๋ถ€๋ถ„๋“ค์„ ์ง€์›Œ

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <title>React App</title>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

 

์ด๋ ‡๊ฒŒ๋งŒ ๋‚จ๊ฒจ๋‘”๋‹ค! 

 

 

App.js

import "./App.scss";

function App() {
  return (
   
  );
}

export default App;

App.css

.App {

}

 

 

์ด๋กœ์จ ์ผ์ฐจ์ ์ธ ์‚ญ์ œ๋Š” ์™„๋ฃŒ! ์ด์ œ ํด๋” ๊ตฌ์กฐ๋ฅผ ์ค€๋น„ํ•ด ๋ณด์ž

 

2๏ธโƒฃ ํด๋” ๊ตฌ์กฐ ์ƒ์„ฑ  

ํ˜„์žฌ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋Š” App.js์˜ component๋ฅผ index.js ์— renderํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ

App.js์—  ์•ž์œผ๋กœ ๋„ฃ์–ด์ค„ componentํŒŒ์ผ๋“ค์„ ์ƒ์„ฑํ•˜๋ฉฐ ๋‚˜์•„๊ฐˆ ๊ฒƒ์ด๋‹ค.

 

ํด๋” ๊ตฌ์กฐ๋Š” ํ”„๋ฐ”ํ”„ (project by project) ๊ฒ ์ง€๋งŒ ..^^

๋‚˜์˜ ๊ฒฝ์šฐ src ์•ˆ์— component์™€ hooks๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ตฌ์กฐ๋ฅผ ์™„์„ฑํ–ˆ๋‹ค.

์ด ์ดํ›„๋ถ€ํ„ฐ๋Š” ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ์„œ ์ž์œ ๋กญ๊ฒŒ ๊ตฌ์ƒํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค!!!!

 

์ถ”๊ฐ€๋  ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

๋Œ“๊ธ€