Skip to content

Webpack

gyim1345 edited this page Nov 27, 2020 · 6 revisions
  • μ›ΉνŒ©
    • file loader vs url loader

      • url-loader은 이미지 νŒŒμΌμ„ base-64둜 λ³€ν™˜ν•˜μ—¬ 이미지 νŒŒμΌμ„ λ²ˆλ“€ νŒŒμΌμ— 포함 μ‹œν‚€λŠ” κΈ°λŠ₯을 κ°€μ§€κ³  μžˆλ‹€.
      • 이미지 νŒŒμΌμ„ λ²ˆλ“€ νŒŒμΌμ— 포함 μ‹œν‚΄μœΌλ‘œμ¨ 파일 μš”μ²­ 횟수λ₯Ό 쀄일 수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ 파일이 λ„ˆλ¬΄ 크면 μ•ˆν•˜λŠ”κ²Œ μ’‹λ‹€.
      • https://jeonghwan-kim.github.io/js/2017/05/22/webpack-file-loader.html
    • λ‚˜λ¬΄ 흔듀기(tree shaking)

      • (λ²ˆλ“€μ‹œ) λΆˆν•„μš”ν•œ μ½”λ“œλ₯Ό μ œκ±°ν•΄ μ£ΌλŠ” κΈ°λŠ₯
      • 기본적으둜 제곡 λ˜μ–΄ μžˆλ‹€
      //util.js
      export const func1 = () => {
        console.log('func1');
      }
      export const func2 = () => {
        console.log('func2')
      }
      //use.js
      import { func1 } from ./util.js
      func1();
      • μœ„ μ½”λ“œ λ²ˆλ“€μ‹œμ— func2λŠ” λ²ˆλ“€μ— μ•ˆλ“€μ–΄κ°€ μžˆλ‹€.(treeshaking)
      • tree shaking μ‹€νŒ¨ ν•˜λŠ” 경우
        • μ‚¬μš©λ˜λŠ” λͺ¨λ“ˆμ΄ ESM이 μ•„λ‹Œ 경우
        • μ‚¬μš©ν•˜λŠ” μͺ½μ—μ„œ ESM이 μ•„λ‹Œ λ‹€λ₯Έ λͺ¨λ“ˆ μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜λŠ” 경우
        • 동적 μž„ν¬νŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” 경우
      • μ™ΈλΆ€ νŒ¨ν‚€μ§€ tree shaking
      //잘λͺ»λœ 예
      import { fill } from 'lodash'
      //잘 μ‚¬μš©ν•œ 예
      import fill from 'lodash/fill'
    • μ½”λ“œ λΆ„ν• 

      • λ²ˆλ“€μ„ μž‘κ²Œ λΆ„ν• ν•΄μ„œ μ‚¬μš©.
      • κ·Έλ•Œκ·Έλ•Œ ν•„μš”ν•œ μ½”λ“œκ°€ λ“€μ–΄κ°€ μžˆλŠ” λ²ˆλ“€λ§Œ μ‚¬μš©
      • λΆˆν•„μš”ν•œ μ½”λ“œκΉŒμ§€ 전솑 λ˜λŠ”κ²ƒμ„ λ°©μ§€
      • μž‘κ²Œ λΆ„ν• ν•˜μ—¬ νŽ˜μ΄μ§€ λ Œλ”λ§ μ΅œμ†Œν™”
    • ProvidePlugin

      • μ„€μ •ν•œ λͺ¨λ“ˆμ„ μžλ™μœΌλ‘œ 등둝 ν•΄μ€€λ‹€.
      new webpack.ProvidePlugin({
          React: 'react'
      })
      • μœ„ μ½”λ“œλ₯Ό μ‚¬μš©μ‹œ Reactλ₯Ό μžλ™μœΌλ‘œ 등둝 ν•΄μ€ŒμœΌλ‘œμ¨ 맀번 import React from 'react'λ₯Ό μ“Έ ν•„μš”κ±° μ—†μ–΄μ§„λ‹€.

Clone this wiki locally