20210406(화)
2021-04-06
1. 학습 날짜
2021-04-06
2. 학습 시간
10:00 ~ 22:00
3. 학습 범위 및 주제
webpack 사용법 익히기
4. 학습 목표
웹팩 사용법을 익힌다.
5. 학습 정리
x
6. 상세 학습 내용
웹팩이란 모듈을 위한 번들러이다. 모듈이란 재사용 가능한 코드조각이다. 간단히 말해서 import와 export 에 사용하는 js 파일이다. 보통 이 js 파일은 하나 또는 복수의 함수로 이루어진 라이브러리가 된다. 그러면 일반 스크립트와 모듈의 차이는 무엇인가?
모듈은 항상 defer 를 붙인것처럼 지연 실행된다.
use strict
가 자동으로 적용된다자신만의 스코프를 갖는다. 이 덕분에 즉시실행과 같은 테크닉을 사용하지 않아도 된다.
모듈은 단 한번만 평가된고 다른 곳에서는 공유된다. 이 말은 여러 파일에서 import 가 된다고 해도 실제로 평가는 제일 먼저 import 되는 곳 한곳에서만 되고 나머지는 이 데이터를 공유해서 사용한다.
번들러란 무엇인가. 먼저 번들을 한다라는 번들링이 무엇인지 알아야한다. 번들링이란 JS, CSS, 이미지 등으 ㅣ파일을 묶어주는 작업을 일컫는다.
그리고 번들링의 결과로 나오는 파일을 번들 이라고 한다.
번들링 과정이 끝나면 기존 스크립트에서 import / export 가 사라지기 때문에 type="module" 이 필요 없어진다.
즉 번들링 과정을 거친 스크립트는 일반 스크립트처럼 취급된다!
그렇다면 웹팩은 왜 사용하는가?
솔직히 아직까지 웹팩의 엄청난 필요성까지는 느끼지 못하고 있다.
이전에 rails 프로젝트에서 webpack 의 사용성이 굉장히 좋지 못했기 때문.
파일 하나를 수정해도 다시 빌드를 하게 될 때의 에너지 소모가 너무 크다고 느껴졌다.
이 부분은 천천히 느껴봐야겠다.
웹팩은 몇가지 코어로 이루어진다.
entry
디펜던시 그래프를 시작할 파일을 명시한다.
하나가 아닌 여러 파일을 지정할 수 있다.
여러 파일을 지정하면 번들이 여러개가 생긴다.
index.js 파일 같은 것들을 엔트리에 넣어두고 이 index.js 에서 다른 파일들을 import, export 해서 사용한다면 다른 파일들은 굳이 html 파일에서 가져올 필요가 없다.
output
번들 결과가 나오는 파일이다. 이 파일은 js 파일로 모든 css, 이미지 파일등을 문자열으 형태로 저장한다.
loaders
특정한 파일들을 번들링할 때 적용할 옵션이 들어있다.
자주 사용되는 것으로는 file-loader, style-loader, css-loader 등이 있다.
css-loader, style-loader 는 css파일을 번들링 할 때 사용된다. css-loader 를 사용해서 css 파일도 번들링의 대상으로 만들어주고 style-loader 를 사용해서 css-loader로 번들링 된 결과가 html 파일의 head 에 style 태그로 선언될 수 있게 해준다.
file-loader 는 이진데이터인 파일을 읽을 수 있게 만들어준다.
plugins
로더가 파일 하나하나에 적용되는 되었다면 플러그인은 만들어진 하나의 output 파일에 적용된다.
7. 오늘 학습 내용에 대한 개인적인 총평
최근에 너무 놀았다. 오늘부터 다시 화이팅해서 열심히 해야겠다.
8. 다음 학습 계획
JS todo list 구상하기
Last updated