Webpackμ μμμΌ νλ μ΄μ
ν¬λ‘μ€ λΈλΌμ°μ§ λ¬Έμ λ₯Ό ν΄κ²°νκ³ μΆλ€λ©΄
ν΄λΌμ΄μΈνΈ μμ
리μμ€λ₯Ό λ³΄λ€ ν¨μ¨μ μΌλ‘ λ°°ν¬νκ³ μΆλ€λ©΄
μ΄ λ¬Έμλ₯Ό λ³΄κ³ λλ©΄
Webpackμ΄ ν΄κ²°νλ €λ λ¬Έμ λ₯Ό μ μ μλ€.
μ Module Bundlerκ° λ±μ₯νκ² λμλμ§ κ·Έ λ°°κ²½μ μ μ μλ€.
Webpack & Module Bundler
μ€λ μκ° λμ μλ°μ€ν¬λ¦½νΈλ λΉλκ° νμ μλ μΈμ΄λ‘ μλ €μ‘μ΅λλ€. μ¬μ€ λΉλλΌλ κ² μμ²΄κ° μ»΄νμΌμ ν¬ν¨νλ€λ μ μ κ° μλκ² μΌλ°μ μ΄λ―λ‘, μ»΄νμΌμ΄ νμ μλ μ€ν¬λ¦½νΈ μΈμ΄λ€μ λΉλ κ³Όμ μ΄ μλ κ²μ΄ μΌλ°μ μ΄μμ΅λλ€. νμ§λ§ μ ν리μΌμ΄μ
μ κ·λͺ¨κ° 컀μ§κ³ 볡μ‘ν΄μ§λ©΄μ μμ°μ€λ½κ² λͺ¨λ μμ€ν
μ νμμ±μ΄ λλλμμ΅λλ€. μ¬μ€ μλ°μ€ν¬λ¦½νΈμμ λͺ¨λ μμ€ν
μ μλ°μ€ν¬λ¦½νΈμ νμ μ΄ν μ½ 10λ
λμ μ λλ‘ κ³ λ €λμ§ μμ κ°λ
μ΄μμ΅λλ€. νμ¬λ ES6 μ΄νλ‘ λͺ¨λ μμ€ν
μ΄ κ³΅μμ μΌλ‘ μ 곡λκ³ μκ³ , λ³΄λ€ λμ λͺ¨λ μμ€ν
μ κ΄λ¦¬νκΈ° μν λκ΅¬λ€ λν νμ₯λμμ΅λλ€.
Webpackμ νλ‘ νΈμλ νλ μμν¬μμ λ§μ΄ μ¬μ©λλ Module Bundlerμ
λλ€. Webpackμ μμ‘΄ κ΄κ³λ₯Ό κ°μ§κ³ μλ μλ°μ€ν¬λ¦½νΈ, CSS, μ΄λ―Έμ§ λ±μ 리μμ€λ€μ νλ(λλ μ¬λ¬ κ°)μ νμΌλ‘ λ²λ€λ§νκ² λμμ€λλ€.
Webpackμ΄ ν΄κ²°νλ €λ λ¬Έμ
1) μλ°μ€ν¬λ¦½νΈ μ€μ½ν
κΈ°λ³Έμ μΌλ‘ μ¬λ¬κ°μ μλ°μ€ν¬λ¦½νΈ νμΌμμ μ μΈλ λ³μμ ν¨μλ€μ μ€μ½νλ μ μμ μΌλ‘ μ€μ λ©λλ€. μ΄λ μ κ·Όμ΄ μ΄λμλ κ°λ₯νλ€λ μ©μ΄ν¨μ΄ μμ§λ§, κ·Έλ§νΌ λ³μμ μΆ©λμ΄λ λ‘λ© μμ λ±μ μ·¨μ½νλ€λ μμ²λ λ¨μ μ΄ μμ΅λλ€. Webpackμ μ΄λ₯Ό λͺ¨λμ΄λΌλ λ¨μλ‘ κ΄λ¦¬ν μ μκ² λμμ€λλ€.
2) λΈλΌμ°μ λ³ HTTP μμ² μ«μμ μ μ½
λΈλΌμ°μ μμ ν λ²μ μλ²λ‘ λ³΄λΌ μ μλ HTTP μμ² μ«μλ μ μ½λμ΄ μμ΅λλ€. λ³΄ν΅ ν¬λ‘¬μ κ²½μ° ν λ²μ 6κ°μ μμ²μ ν μ μλλ° Webpackμ ν΅ν΄ λ²λ€λ§ νλ©΄ μμ²ν΄μΌ νλ νμΌμ μ λν μ μ΄μ§λ―λ‘ λ λΉ λ₯Έ μ±λ₯ κ°μ μ΄ κ°λ₯ν©λλ€.
3) Dynamic Loading & Lazy Loading
μμ SPAμ λ¨μ μΌλ‘ μ΄κΈ°μ νμνμ§ μμ νμ΄μ§μ λν μ€ν¬λ¦½νΈλ€λ λΆλ¬μ¨λ€λ μ΄μΌκΈ°νμ΅λλ€. νμ§λ§ μΉν©μ ν΅ν λͺ¨λ λ²λ€λ§μ μ΄μ©νλ©΄ λμ μΌλ‘, νμν νμ΄μ§μ λ°λ₯Έ μ€ν¬λ¦½νΈ λͺ¨λμ λμ μΌλ‘ λΆλ¬μ€λ κ²λ κ°λ₯ν©λλ€.
4) μΉ κ°λ° μμ μλν
μ§κΈμ live-serverμ κ°μ λꡬλ₯Ό μ΄μ©νμ¬ μμ½κ² μ½λμ μμ μ λΈλΌμ°μ μμ μλ‘ κ³ μΉ¨ νμ§ μμλ νμΈν μ μμ§λ§, μ΄μ μ νλ‘ νΈμλ κ°λ° μ
무λ₯Ό νλ©° κ°μ₯ λ§μ΄ λ°λ³΅νλ λ°©λ²μ λΈλΌμ°μ μμμ μλ‘ κ³ μΉ¨μ΄μμ΅λλ€. λν μΉ μλΉμ€λ₯Ό κ°λ°νκ³ μΉ μλ²μ λ°°ν¬ν λ μλμ κ°μ μμ
μ΄ νμνμ΅λλ€.
β’
HTML, CSS, JS μμΆ
β’
μ΄λ―Έμ§ μμΆ
β’
CSS μ μ²λ¦¬κΈ° λ³ν
μ΄λ¬ν μΌλ€μ μλν ν΄μ£Όλ λꡬλ‘μ¨ Grunt, Gulp λ±μ΄ μμ΅λλ€. μ΄ λꡬλ€λ μ¬μ ν μ¬μ©λμ§λ§ νλ‘μ νΈμ κ·λͺ¨μ μ΄ λꡬλ€λ‘μ¨λ μ§ννκΈ° μ΄λ €μ΄ μΉν©λ§μ μ’
μμ± κ΄λ¦¬, Node.js νκ²½μμμ μ¬μ© λ±μ μ΄μ λ‘ μΈν΄ μΉν©μ΄ λ λ§μ΄ μ¬μ©λκ² λμμ΅λλ€.
μ 리
β’
Webpackμ μμ‘΄κ΄κ³λ₯Ό κ°μ§κ³ μλ μλ°μ€ν¬λ¦½νΈ, CSS, μ΄λ―Έμ§ λ±μ 리μμ€λ€μ νλ(λλ μ¬λ¬ κ°)μ νμΌλ‘ λ²λ€λ§ νκ² λμμ€λ€.
β’
Webpackμ ν΅νμ¬ μλ°μ€ν¬λ¦½νΈ νμΌλ€μ λͺ¨λνν μ μκ³ , μ΄λ₯Ό λ²λ€λ§ νμ¬ μμ μμ²μ νμλ₯Ό μ€μΌ μ μλ€.
β’
Dynamic Loading & Lazy Loadingμ ν΅νμ¬, μμμ νμν νμ΄μ§μ λ°λΌ λΆλ¦¬νκ³ μ΅μ νν μ μλ€.
β’
κΈ°μ‘΄μ μΉ κ°λ° μλν λꡬλ€μ μ₯μ μ ν‘μνλ©° μΉ κ°λ° μμ
μ μλνλ₯Ό κ°λ₯νκ² νλ€.
μ°Έκ³ λ§ν¬
β’
β’