mingg IT

[React] CRA(create-react-app) 사용하지 않고 초기 세팅 해보기 본문

FrontEnd

[React] CRA(create-react-app) 사용하지 않고 초기 세팅 해보기

mingg123 2022. 5. 8. 23:07

CRA를 이용하면 초기 세팅을 직접 하지 않고도 어플리케이션을 만들 수 있다. 

 

오늘은 그것을 사용하지 않고 초기에 세팅해보는 방법에 대해 알아보도록 하겠다.

 

간단하게 hello-world라는 디렉토리를 만든다.

우선 이름을 보고 판단할 수 있듯이 react-dom.development, react.development는 개발 환경에서 사용되는 파일이고, 

react-dom.production.min.js, react.production.min.js 는 배포에 필요한 환경 파일임. 

 

파일 상세내용은 git 에 올려놓도록 하겠음. 

 

simple1.html 파일을 만든다.

<html>
  <body>
    <h2>안녕하세요. 이 프로젝트가 마음에 드시면 좋아요 버튼을 눌러주새요.</h2>
    <div id="react-root"></div>
    <script src="react.development.js"></script>
    <script src="react-dom.development.js"></script>
    <script src="simple1.js"></script>
  </body>
</html>

 

simple1.js

function LikedButton() {
  const [liked, setLiked] = React.useState(false);
  const text = liked ? '좋아요 취소' : '좋아요';
  return React.createElement(
    'button',
    { onClick: () => setLiked(!liked) },
    text
  );
}
const domContainer = document.querySelector('#react-root');
ReactDOM.render(React.createElement(LikedButton), domContainer);

domContainer는 html 파일에서 만들어두었던 돔 요소를 가져온다. 

마지막 줄 같은 경우에는 react-dom.development.js 파일에서 전역 변수로 만든 ReactDOM 변수를 사용해서 우리가 만든 컴포넌트를 REact-root 돔 요소에 붙임. 

 

html 파일을 열어보면 확인할 수 있다. 

 

바벨 사용해보기 

바벨은 자바 스크립트 코드를 변환해주는 컴파일러임. 즉 브라우저가 ES6 문법을 지원하고 있지 않을 경우에 ES5 문법으로 변환해주는 역할임. 

 

다른 용도로는 코드에서 주석을 제거하거나 코드를 압축하는 용도로 사용할 수 있다. 

리액트에서 JSX 문법을 사용하기 위해 바벨을 사용한다. 바벨이 JSX 문법으로 작성된 코드를 createElement 함수를 호출해주는 코드로 변환해준다. 

 

 

 

 

 

 

Comments