일찍이 브라우져에서의 자바스크립트 모듈화를 구현했었던 require.js로 대표되는 AMD방식 모듈은,
디버깅이 복잡하고, 모듈을 AMD방식으로 작성해야 한다는 단점 때문에 외면받고 있고
본디 node.js 에서 사용되던 CommonJs 방식의 모듈이 브라우져에 역 수입되고 있는 상황입니다.
CommonJs모듈을 브라우져에서 사용할 수 있도록 도와주는것이 ‘모듈 번들러’이며
현재의 대표 주자로는 Browserfy와 Webpack이 있습니다.
특히 1년여전부터 유행하고 있는 React.js는 가본적으로 CommonJs 방식의 모듈만 지원하는군요.
최근 들어서 npm만 가지고 프로젝트를 수행했다는 소식이 심심찮게 들리는 걸 보면,
이제는 Browserfy든 Webpack이든 툴 하나를 잡아야 따라잡을 수 있을 것 같습니다.
어차피 모듈화는 해야 할 것 아니겠습니까?
이렇게 복잡하게 상황이 전개될줄은 상상하지도 못했습니다만,
요즘의 최신 SPA프레임웍들은 es6기반으로 튜토리얼이 작성되고 있기에 어쩔 수가 없습니다.
특히 요즘 추세는 Webpack인 듯 하네요. 속도가 나와야 실무에서 써먹지요.
아래의 모든 장황한 작업들은 오직 es6와 CommonJs모듈을 사용하기 위함 입니다.
WebPack 셋업
npm저장소 초기화
의존성 정보를 기록하고, 실행 스크립트를 작성하기 위해,
다음 커맨드를 입력해서 워킹 디렉토리를 초기화.
npm init -y
Webpack 설치
npm i webpack -S -D
Webpack과 연결할 babel-loader 설치
npm i babel-loader babel-core -S -D
Babel용 es6 preset 설치
npm i babel-preset-es2015 -S- D
npm에 webpack실행용 숏컷 작성
6.Babel과 Webpack을 연결하는 webpack.config.js 작성
아 힙듭니다.
es6하고 서버모듈을 쓰겠다고 이 고생이라니.
이제야 최신 SPA를 따라잡을 수 있게 되었습니다.