개발자

웹팩은 필수적일까요?

2023년 01월 20일조회 217

웹팩이 웹페이지 성능을 최적화하기 위해 사용하는 것으로 알고 있는데 이게 쓰면 좋고, 안써도 괜찮은 것인지 궁금합니다. (공부하는 입장이라 현업에서 실제로는 어떻게 쓰이는지 몰라서 질문드려요!)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

정현수님의 프로필 사진

안녕하세요! 웹팩은 자바스크립트 모듈 "번들러" 에요. 번들러라고 하면 조금 생소할 수 있으니, 코드를 패키징해주는 도구 그래서 웹팩 이라고 외워보면 어떨까요? (제가 처음에 이렇게 외웠습니다 하하..) 웹팩, 즉 번들러가 필요해진 이유는 조금 옛날로 돌아가야하는데요. 그 시발점인 Module에 관한 얘기를 아래 글이 잘 설명이 되어있어 첨부드릴게요. https://poiemaweb.com/es6-module 그리고 웹팩이 왜 필요한지는 공식문서에 잘 설명이 되어있어서 공식문서를 대체하겠습니다! https://webpack.kr/concepts/why-webpack/ 위에서 설명된 개념외에도 웹팩에는 특정 파일들에 대한 처리를 따로 해줄 수 있는 Loader의 개념, 그리고 코드를 minify(쓸모없는 줄, 콘솔로그지우기 등등)을 제공해줘 번들 사이즈를 줄인다던가, 특정 환경(development, production)에서 동작하는 다른 코드를 따로 생성해준다던가 하는 기능들을 제공해주는 Plugin 시스템 등등 제가 말을해도 공식문서보다는 정확하지 않으니 https://webpack.js.org/ 공식문서를 참고하시면 더욱 더 많은 내용들을 알게되실거에요. 그래서 웹팩이 필수라는 질문을 돌려말하면 "번들러가 필수냐"로도 말할 수 있겠네요. 번들러가 필수냐고 한다면 최신 프레임워크에서는 알게 모르게 다들 쓰고 계실거에요. 그게 webpack이 될수도 있고, parcel, rollup과 같은 도구들이 있었다면 최근에는 esbuild와 같은 javascript가 아닌 다른 빠른 언어 (rust나 go를 써서)로 만들어진 도구들이 많이 쓰이고 있는 추세죠. 그래서 안쓰고 싶어도 안쓸수가 없을거에요. CRA는 webpack, Next는 최근 13버전에서 자체적으로 Rust로 개발한 Turbopack을 사용하고, Vite는 esbuild, Gatsby는 아직 webpack을 사용하고 있죠. 제가 얘기한 것들이 생략된 부분들이 조금 많아서 javascript module system, bundler 그리고 세트로 같이 묶여다니는 트랜스파일러 도구들 (babel, swc, ...) 들의 개념들도 같이 찾아보면 좋을 것 같아요. 감사합니다

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!