μΉν©(Webpack): νλ μΉ κ°λ°μ μν ν΅μ¬ λꡬ
1. μΉν©μ κ°λ
μΉν©(Webpack)μ λͺ¨λ λ²λ€λ¬(Module Bundler)λ‘, μΉ μ ν리μΌμ΄μ μ ꡬμ±νλ λ€μν μμλ€μ λ²λ€λ§νμ¬ μ΅μ νλ μ μ μμμΌλ‘ λ³ννλ λꡬμ λλ€. μ΄λ μ¬λ¬ νμΌλ€ κ°μ μμ‘΄μ±μ νμ νκ³ , νμν μμλ€μ λ¬Άμ΄ νλμ νμΌλ‘ μμ±ν¨μΌλ‘μ¨ μΉ λ‘λ© μ±λ₯μ ν₯μμν΅λλ€.
2. μΉν©μ νμ©
2.1 λͺ¨λ νλ μμν¬μ μΉν©
νλμ νλ‘ νΈμλ νλ μμν¬(Vue, React, Angular λ±)λ€μ μΉν©μ λ΄μ₯νμ¬ μ 곡ν©λλ€. μ΄λ κ° νλ μμν¬κ° κ°λ μ»΄ν¬λνΈ, μ€νμΌ, μ΄λ―Έμ§ λ±μ λ€μν μμλ€μ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν¨μ λλ€.
2.2 μΉ μ ν리μΌμ΄μ λ²λ€λ§
μΉν©μ μλ°μ€ν¬λ¦½νΈ, CSS, μ΄λ―Έμ§, ν°νΈ λ± λ€μν 리μμ€λ€μ νλλ‘ λ²λ€λ§νμ¬ λΈλΌμ°μ κ° λ‘λ©ν μ μλ μ΅μ νλ ννλ‘ λ§λ€μ΄μ€λλ€. μ΄λ‘μ¨ μ΄κΈ° λ‘λ© μλλ₯Ό κ°μ νκ³ , λ€νΈμν¬ λΉμ©μ μ€μΌ μ μμ΅λλ€.
3. μΉν©μ λ΄μ₯
μΉν©μ΄ λͺ¨λ νλ μμν¬μ λ΄μ₯λμ΄ μλ μ΄μ λ μ¬λ¬ κ°μ§κ° μμ΅λλ€.
3.1 λͺ¨λ μμ€ν
μΉν©μ λͺ¨λ μμ€ν μ ν΅ν΄ κ° μ»΄ν¬λνΈ, λΌμ΄λΈλ¬λ¦¬, μ€νμΌ λ±μ λͺ¨λλ‘ κ΄λ¦¬ν©λλ€. μ΄λ μ½λμ μ¬μ¬μ©μ±μ λμ΄κ³ μ μ§λ³΄μλ₯Ό μ©μ΄νκ² λ§λλλ€.
3.2 μ½λ λΆν
μΉν©μ μ½λλ₯Ό μ¬λ¬ μ²ν¬(chunk)λ‘ λΆν ν¨μΌλ‘μ¨, μ΄κΈ° λ‘λ© μ νμν λΆλΆλ§ λ‘λ©λλλ‘ λμμ€λλ€. μ΄λ λκ·λͺ¨ μ ν리μΌμ΄μ μμ λΆνμν μμμ 미리 λ‘λ©νλ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.
3.3 μλ λ²λ€λ§
μΉν©μ μ½λμ λν λ³κ²½ μ¬νμ κ°μ§νκ³ μλμΌλ‘ λ²λ€λ§ν΄μ£Όλ κΈ°λ₯μ μ 곡ν©λλ€. κ°λ°μλ λ³κ²½λ λ΄μ©μ μ κ²½μ°μ§ μκ³ κ°λ°μ μ§μ€ν μ μμ΅λλ€.
4. μΉν© μμ μ½λμ μ¬μ© μμ
4.1 κ°λ¨ν μΉν© μ€μ νμΌ μμ
// webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
};
4.2 μ¬μ© μμ
# μΉν© λΉλ μ€ν
npx webpack
μ μμ λ κ°λ¨ν μ§μ
νμΌ(index.js
)μ λ²λ€νμ¬ dist
ν΄λμ bundle.js
λ‘ μΆλ ₯νλ μ€μ μ
λλ€.
5. μΉν©μ μ₯λ¨μ
5.1 μ₯μ
- λͺ¨λ κ΄λ¦¬: μ½λλ₯Ό λͺ¨λ λ¨μλ‘ λΆν νκ³ κ΄λ¦¬ν μ μμ΄ μ μ§λ³΄μκ° μ©μ΄νλ€.
- μλν: μ½λ λ³κ²½ μ μλμΌλ‘ λΉλλλ―λ‘ ν¨μ¨μ μΈ κ°λ°μ΄ κ°λ₯νλ€.
- μ½λ μ΅μ ν: λ²λ€λ§μ ν΅ν΄ λΆνμν μ½λμ μ μ‘μ λ°©μ§νκ³ μ±λ₯μ μ΅μ νν μ μλ€.
5.2 λ¨μ
- νμ΅ κ³‘μ : μ΄κΈ°μλ μ€μ μ΄ λ³΅μ‘ν΄ νμ΅μ΄ νμνλ€.
- λΉλ μκ°: λκ·λͺ¨ νλ‘μ νΈμμλ λΉλ μκ°μ΄ κΈΈμ΄μ§ μ μλ€.
6. κ²°λ‘
μΉν©μ νλ μΉ κ°λ°μμ νμμ μΈ λκ΅¬λ‘ μ리μ‘κ³ μμ΅λλ€. λͺ¨λ κ΄λ¦¬, μλν, μ½λ μ΅μ ν λ± λ€μν μ₯μ μ μ 곡νλ©°, λͺ¨λ νλ μμν¬λ€κ³Όμ ν΅ν©μΌλ‘ λμ± ν¨κ³Όμ μΌλ‘ μ¬μ©λκ³ μμ΅λλ€. μ΄κΈ° νμ΅ κ³‘μ μ 극볡νλ©΄μ μΉν©μ ν¨κ³Όμ μΌλ‘ νμ©νλ€λ©΄ μΉ μ ν리μΌμ΄μ μ μ±λ₯ ν₯μ λ° κ°λ° μμ°μ±μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.
'IT' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Server-Side Rendering (SSR): λμ μΉ νμ΄μ§ λ λλ§μ ν΅μ¬ (0) | 2024.02.20 |
---|---|
Business Intelligence (BI): λΉμ¦λμ€μ μ§νλ₯Ό λμ΄λ΄λ ν (0) | 2024.02.20 |
Apache μ¬λ¨: μμ¬, νλ‘μ νΈ, κΈ°μ¬ (0) | 2024.02.18 |
μΉ μλ²μ μμ¬μ κΈ°μ λ°μ (0) | 2024.02.17 |
λΈλ‘체μΈκ³Ό λΉνΈμ½μΈ: λμ§νΈ νλͺ μ ν΅μ¬ κΈ°μ κ³Ό νν (0) | 2024.02.17 |
λκΈ