서버

Webpack부터 Kubernetes까지 (2) - gulp와 webpack의 차이

민초부 2021. 3. 11. 15:42
반응형

- 이전 플젝에선 Webpack을 사용하다가 다음 회사에서 Kubernetes를 사용하게 됨에 따라 공부하던 와중 webpack을 근본적으로 왜 사용하게 됐을 까를 알기 위해 정리함. (이를 위해 앞의 1에서 stream에 대한 개념을 잡았다.)

 

<들어가기전 참고>

 

  • task runners / package bundler와의 차이
    • Package Bundler : 종속성을 가진 어플리케이션 모듈을 정적인 소스로 재생산 
    • Task Runner : 반복 가능한 특정 작업들을 단순 자동화한 것
  • 즉 소스들을 하나의 패키지화 하는 것이 Webpack이고 Gulp는 미리 정의해 놓은 어떠한 작업들 (배포, 테스트와 같은)을 자동화하여 실행하는 것임 

 

 <Gulp>

  - node.js 기반의 task runners로 자동화된 빌드 툴로 알면 된다. 이 때 node기반 빌드 툴이기 때문에 stream기반으로 하는 빌드 시스템으로 스트림을 이용해 데이터를 읽고 출력하며 처리한다. 

   - 특징 

  • Task runner인 만큼 반복 가능한 작업들을 자동화시킨 것
  • Javascript 테스트 실행 / js, css, html등의 자산 파일을 압축 
  • 빠른 빌드 속도

   - 즉 개인 프로젝트로 작게 할 때는 구축하는데 오래걸리는  webpack보단 쉽고 빠른 gulp가 나을 수 있단 것이다. 

 

 <Webpack>

   - Package Bundler로 gulp가 task runners라는 것과 다르다. 그리고 의존성 관리 기능까지 webpack은 제공함으로써
      Webpack = Gulp + 의존성 관리 의 개념이 된 것 + 속도도 빠르다. 

   - 특징

  • Loader를 통해 Javascript, Image file, CSS, SCSS 등과 같은 자산을 하나의 모듈로 취급
  • Entry를 통해 별도의 Bundle을 생성 가능하고 생성된 Bundle에 대한 압축 및 난독화 옵션 제공
  • 비동기 I/O와 다중 캐시 레벨을 사용하기 때문에 컴파일 속도가 빠르다
  • CommonJS(nodejs)와 AMD(requires) 스펙 지원

   - 이러한 특징들 때문에 쉽고 배우기 빠른 Gulp에 비해 규모가 큰 프로젝트는 모든 모듈에 대한 종속성 관리가 이루어지지 않기 때문에 Webpack을 사용하는 것임 

   

 

반응형

'서버' 카테고리의 다른 글

EC2 관련 정리  (0) 2022.01.16
Webpack부터 Kubernetes까지 (1) - Stream과 Node  (0) 2021.03.11
Node Express Module  (0) 2021.03.09
node js 시작하며  (0) 2021.03.08
[DRF] REST & REST API  (0) 2020.01.19