리액트 프로젝트를 생성할 때 CRA(Create-React-App)를 사용했기 때문에
Webpack
,Babel
의 설치 및 설정을 하지 않고 작업 환경을 구축했다.
CRA가 자동으로 작업 환경을 구축해주었기 때문에Webpack
과Babel
의 개념을 보고 넘어가야 할 것 같아서 정리해봤다.
파일 분할 기능(원하는 코드만 따로 분리 가능)
, CSS Loader 기능
, JSX 변환 작업
을 할 수 있게 해준다.파일(HTML, Javascript)
을 하나로 통합해주는 모듈 번들러이다.네트워크 부하의 문제점과
, 같은 이름의 변수나 함수의 충돌 문제점
을 해결하기 위해 등장했다.자바스크립트
의 require
와 import
문을 참고하여 프로젝트의 모든 의존성을 조사하고 로더를 통해 합쳐진 자바스크립트 파일을 생성한다.트랜스파일러
이다.브라우저
에서 지원하지 않는 자바스크립트
의 버전ES6(최신 버전)을 ES5(구 버전)으로 변환 시키는 과정JSX
와 같은 자바스크립트
구문 확장을 이용할 수 있게 하는 것파싱
과 출력
을 담당하고 변환
과정은 바벨 플러그인(plugin)이 담당한다.Webpack
과 Babel
을 살펴보았다.
CRA(Create-React-App)를 사용하여 위와 같은 Build 도구
를 설정하지 않고 넘어 갔는데 생각보다 더 깊이 이해해야할 부분이 있는것 같다.
추후에는 더 자세하게 살펴보아야겠다.