webpack
- 웹팩의 정체성은
통합(Integration)
에 있다. - grunt 는 task runner 이다.
- 즉, minifying, 파일 통합, lint 적용 등 등록 된 task 를 순서대로 실행시켜준다.
- 따라서 설정이 파편화 되어있고, 개발자가 직접 컨트롤해야하는 영역이 많다.
- 반면 webpack 은 module bunlder 로서, 모듈을 통합하는 것에 초점이 맞춰져있음
웹팩이 작동하는 방식
- 웹팩은 모듈을 함수로 감싸서 평가하는 방식을 사용함
- 각 모듈을 함수로 감싸고 , 로더와 모듈 캐시 구현
- 런타임 시에 각 모듈 함수들이 평가되어 모듈 캐시를 채운다.
- on-demain loading 이 필요하면 좋겠지만 그렇지 않으면 낭비. 모듈이 많아지면 더 힘들어진다.
- 하지만 이 방식은 아래와 같은 이유로 안전함
- 전역 스코프에 있던 변수들을 지역으로 변경하여 충돌 없이 모듈화 진행 가능.