[기술면접] Webpack

huni_·2022년 7월 1일
0

React

목록 보기
49/57
post-thumbnail

Webpack이란 ?

  • Webpack = 모듈 번들링이라고 한다.
  • html 파일에 들어가는 자바스크립트 파일들을 하나의 자바스크립트 파일로 만들어주는 방식을 모듈 번들링이라고 한다.
  • 쉽게 말하면, 필요한 다수의 자바스크립트 파일을 하나의 자바 스크립트 파일로 만들어 주는 것을 Webpack 이라고 한다.

그럼 Webpack을 왜 사용해야 할까 ?

옛날에는 페이지마다 새로운 html을 요청해서뿌려 주는 방식이였다면, 요새는 SPA 하나의 html 페이지에 여러개의 자바스크립트 파일들이 포함한다. 연관 되어 있는 자바스크립트 종송석 있는 파일들을 하나의 파일로 묶어줘서 관리하기 편하다. 파일을 컴파일 할 때, 여러 모듈들의 파일을 읽어오는데 시간이 오래 걸린다. 그 부분을 해결하기 위해 여러 파일을 하나의 파일로 번들링 해준다.하나의 자바스크립트 파일로 만들어서 웹페이지 성능 최적화 해준다.


바벨이 무엇인지?

1. 바벨(Babel) 이란 무엇일까?

공식홈페이지의 설명에 따르면 자바스크립트 컴파일러라고 한다.

※ 컴파일러(compiler, 순화 용어: 해석기, 번역기)는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램을 말한다.

(위키 백과 참고 : https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC)

그렇다면 왜 자바스크립트 컴파일러인 바벨을 사용할까?

2. 바벨의 사용이유

바벨에 대해 알아본 결과 2가지 사용이유를 발견했다.

1) 최신 자바스크립트 문법을 모든 브라우저가 이해하지 못하기 때문에 babel이 브라우저가 이해할 수 있는 문법으로 변환해준다.

※ 브라우저 별 ECMAScript ES6 지원 현황 테이블 : https://kangax.github.io/compat-table/es6/

=> 위의 페이지에 접속하여 확인해보면 최신 문법을 지원하지 않는 브라우저가 존재하기 때문에 이전 버전의 문법을 적용하여 코드를 작성할 필요가 있다.

2) Babel 사용시 ES6, ES7 과 같은 최신 문법을 사용해서 코딩 후 브라우저 호환성을 위해 코드를 다시 작성할 필요가 없다.

=> 이미 ES6를 통해 코드를 작성하였는데 브라우저 호환성을 고려해 코드를 변경할 경우가 생긴하면, 모든 코드를 변경해주어야 하는 번거로움이 생긴다. 그럴때 바벨을 사용해서 자동으로 변경되게 해주면 되는것이다.

profile
FrontEnd Developer

0개의 댓글

관련 채용 정보