μƒˆμ†Œμ‹

FrontEnd/JavaScript

μ›ΉνŒ©(Webpack)을 νŒŒν—€μ³ 보자!

  • -

🐣 λ“€μ–΄κ°€κΈ° 전에


μ§€λ‚œ μ‹œκ°„μ—λŠ” 'λ²ˆλ“€', 'λ²ˆλ“€λ§', 'λͺ¨λ“ˆ', 'λͺ¨λ“ˆ λ²ˆλ“€λŸ¬'에 λŒ€ν•΄μ„œ μ‚΄νŽ΄λ³΄μ•˜λ‹€. 사싀 ν•΄λ‹Ή κ°œλ…λ“€μ€ μž‘λ…„μ— μŠ€ν„°λ””μ›λ“€κ³Ό ν•¨κ»˜ 곡뢀 ν–ˆμ—ˆμ§€λ§Œ, 후루룩 μ‹œκ°„μ΄ μ§€λ‚œ μ§€κΈˆ λˆ„κ΅°κ°€μ—κ²Œ μžμ‹ μžˆκ²Œ μ„€λͺ…ν•  수 μ—†μ—ˆκΈ° λ•Œλ¬Έμ— λ‹€μ‹œ 정리λ₯Ό μ‹œμž‘ν–ˆλ‹€. μ§€κΈˆμ€ λ²ˆλ“€λ§κ³Ό λͺ¨λ“ˆ λ²ˆλ“€λŸ¬μ˜ 차이에 λŒ€ν•΄μ„œ μ„€λͺ…ν•  수 μžˆλ‹€κ΅¬! μ•„λ¬΄νŠΌ μ˜€λŠ˜μ€ λͺ¨λ“ˆ λ²ˆλ“€λŸ¬ 쀑 ν•˜λ‚˜μΈ μ›ΉνŒ©(Webpack)에 λŒ€ν•΄μ„œ μ •λ¦¬ν•˜κ² λ‹€! 꼬우꼬우!

 

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQRbX0i4MPhvuxjxXTiud5Ztvb5hrNJQ7I9PA&s

 

🐣 μ›ΉνŒ©(Webpack)


1. κ°œλ…

μ›ΉνŒ©(Webpack)은 의쑴 관계에 μžˆλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ, CSS, 이미지 λ“±μ˜ λ¦¬μ†ŒμŠ€λ“€μ„ λͺ¨λ‘ 각각의 λͺ¨λ“ˆλ‘œ 보고 ν•˜λ‚˜(λ˜λŠ” μ—¬λŸ¬κ°œ)의 파일둜 λ²ˆλ“€λ§ν•˜λŠ” λͺ¨λ“ˆ λ²ˆλ“€λŸ¬(λ²ˆλ“€λ§ ν”„λ‘œμ„ΈμŠ€λ₯Ό μˆ˜ν–‰ν•˜λŠ” νŠΉμ • 도ꡬ λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄).

 

참고둜 λ²ˆλ“€λ§κ³Ό λͺ¨λ“ˆ λ²ˆλ“€λŸ¬μ— λŒ€ν•œ κ°œλ…μ€ 이전에 μ •λ¦¬ν–ˆμœΌλ‹ˆ μ°Έκ³ ν•˜λ„λ‘!

https://haileyham.tistory.com/entry/%EB%B2%88%EB%93%A4bundle%EA%B3%BC-%EB%B2%88%EB%93%A4%EB%A7%81bundling

 

λ²ˆλ“€(bundle)κ³Ό λ²ˆλ“€λ§(bundling)

🐣 λ²ˆλ“€(bundle)κ³Ό λ²ˆλ“€λ§(bundling) 그리고 λͺ¨λ“ˆ(module)ν˜Ήμ‹œ λ²ˆλ“€λ§κ³Ό λͺ¨λ“ˆ λ²ˆλ“€λŸ¬μ— 차이에 λŒ€ν•΄μ„œ μžμ„Ένžˆ μ„€λͺ…ν•  수 μžˆμ„κΉŒ? λ¨Έλ­‡κ±°λ Έλ‹€λ©΄ μ •λœ 글을 톡해 λ²ˆλ“€λ§κ³Ό λͺ¨λ“ˆ λ²ˆλ“€λŸ¬μ— λŒ€ν•΄μ„œ ν•œ 번 μ‚΄

haileyham.tistory.com

 

μ›ΉνŒ©μ— λŒ€ν•΄μ„œλŠ” μ•„λž˜ youtube μ˜μƒμ„ μ°Έκ³ ν•˜λ©΄ 정리가 잘 될 것이닀.

https://www.youtube.com/watch?v=NGVc-zw2FG8&ab_channel=%EC%A7%90%EC%BD%94%EB%94%A9GYMCODING

 

2. μ›ΉνŒ©μ—μ„œμ˜ λͺ¨λ“ˆ

μ›ΉνŒ©μ—μ„œ μ§€μΉ­ν•˜λŠ” λͺ¨λ“ˆμ΄λΌλŠ” κ°œλ…μ€ μœ„μ™€ 같이 μžλ°”μŠ€ν¬λ¦½νŠΈ λͺ¨λ“ˆμ—λ§Œ κ΅­ν•œλ˜μ§€ μ•Šκ³  μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μ„±ν•˜λŠ” λͺ¨λ“  μžμ›μ„ 의미. μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ œμž‘ν•˜λ €λ©΄ HTML, CSS, Javascript, Images, Font λ“± λ§Žμ€ νŒŒμΌλ“€μ΄ ν•„μš”. 이 파일 ν•˜λ‚˜ν•˜λ‚˜κ°€ λͺ¨λ‘ λͺ¨λ“ˆμž„.

 

3. μ›ΉνŒ©μ˜ λ“±μž₯ λ°°κ²½

파일 λ‹¨μœ„μ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ λͺ¨λ“ˆ 관리

Webpack μ΄μ „μ—λŠ” JavaScript 쒅속성 및 λͺ¨λ“ˆμ„ κ΄€λ¦¬ν•˜λŠ” 것이 λ²ˆκ±°λ‘œμ›Œμ„œ 파일 μˆœμ„œ 쒅속성 및 μ „μ—­ λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ˜€μ—Όκ³Ό 같은 λ¬Έμ œκ°€ λ°œμƒ. Webpack은 JavaScript νŒŒμΌμ„ λ²ˆλ“€λ§ν•˜λŠ” 보닀 효율적인 방법을 μ œκ³΅ν•˜μ—¬ μ μ ˆν•œ λͺ¨λ“ˆ 처리 및 쒅속성 관리λ₯Ό 보μž₯ν•˜κΈ° μœ„ν•΄ λ“±μž₯.

 

μ›Ή 개발 μž‘μ—… μžλ™ν™” 도ꡬ

μΆ•μ†Œ, λ³€ν™˜, λ²ˆλ“€λ§κ³Ό 같은 μž‘μ—…μ€ Gulp 및 Grunt와 같은 λ³„λ„μ˜ 도ꡬλ₯Ό μ‚¬μš©ν•˜μ—¬ μˆ˜ν–‰λ˜μ—ˆμœΌλ‚˜ Webpack은 μ΄λŸ¬ν•œ ν”„λ‘œμ„ΈμŠ€λ₯Ό ꡬ성 κ°€λŠ₯ν•œ 단일 λ„κ΅¬λ‘œ κ°„μ†Œν™”ν•˜μ—¬ 개발 μ›Œν¬ν”Œλ‘œλ₯Ό λ‹¨μˆœν™”ν•˜κ³  νš¨μœ¨μ„±μ„ ν–₯상.

 

μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λΉ λ₯Έ λ‘œλ”© 속도와 높은 μ„±λŠ₯

μ΅œμ‹  μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—λŠ” 더 λΉ λ₯Έ λ‘œλ”© μ‹œκ°„κ³Ό 더 λ‚˜μ€ μ„±λŠ₯이 ν•„μš”ν–ˆκ³ , Webpack은 μ½”λ“œ λΆ„ν•  및 트리 쉐이킹과 같은 κΈ°μˆ μ„ ν™œμ„±ν™”ν•˜κ³  더 λΉ λ₯Έ λ‘œλ“œ μ‹œκ°„κ³Ό ν–₯μƒλœ μ„±λŠ₯을 μœ„ν•΄ μ΅œμ’… λ²ˆλ“€μ„ μ΅œμ ν™”ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν–ˆμŒ.

 

4. μ›ΉνŒ©μœΌλ‘œ ν•΄κ²°ν•œ 문제

μžλ°”μŠ€ν¬λ¦½νŠΈ λ³€μˆ˜ 유효 λ²”μœ„

λ³€μˆ˜ 유효 λ²”μœ„μ˜ λ¬Έμ œμ μ„ ES6의 Modules λ¬Έλ²•κ³Ό μ›ΉνŒ©μ˜ λͺ¨λ“ˆ λ²ˆλ“€λ§μœΌλ‘œ ν•΄κ²°

 

λΈŒλΌμš°μ €λ³„ HTTP μš”μ²­ 숫자 μ œμ•½

μ›ΉνŒ©μ„ μ΄μš©ν•΄ μ—¬λŸ¬ 개의 νŒŒμΌμ„ ν•˜λ‚˜λ‘œ ν•©μΉ˜λ©΄ λΈŒλΌμš°μ €λ³„ HTTP μš”μ²­ 숫자 μ œμ•½μ„ ν”Όν•  수 있음. HTTP μš”μ²­ 숫자λ₯Ό μ€„μ΄λŠ” 것이 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„±λŠ₯을 높여쀄 뿐만 μ•„λ‹ˆλΌ μ‚¬μš©μžκ°€ μ‚¬μ΄νŠΈλ₯Ό μ‘°μž‘ν•˜λŠ” μ‹œκ°„μ„ μ•žλ‹Ήκ²¨ 쀄 수 있기 λ•Œλ¬Έμ— μ΄μ μž„.

* ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ„œλ²„μ— HTTP μš”μ²­μ„ 보내기 μœ„ν•΄μ„œ λ¨Όμ € TCP/IP μ—°κ²°λ˜μ–΄μ•Ό 함

 

μžμ„Έν•œ μ„€λͺ…은 https://joshua1988.github.io/webpack-guide/motivation/problem-to-solve.html#%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EB%B3%84-http-%EC%9A%94%EC%B2%AD-%EC%88%AB%EC%9E%90%EC%9D%98-%EC%A0%9C%EC%95%BD

 

μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ 관리

Dynamic Loading & Lazy Loading

 


μ›ΉνŒ©λ„!

 

 

좜처 :

https://www.youtube.com/watch?v=NGVc-zw2FG8&ab_channel=%EC%A7%90%EC%BD%94%EB%94%A9GYMCODING

https://joshua1988.github.io/webpack-guide/webpack/what-is-webpack.html#%EC%9B%B9%ED%8C%A9%EC%97%90%EC%84%9C%EC%9D%98-%EB%AA%A8%EB%93%88

Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.