π Babel μ΄λ ?
Babel is a JavaScript Compiler ...?
Babel is a JavaScript Transpiler ...!
κ°μ μΈμ΄λ₯Ό λ€λ₯Έ μ€ν νκ²½μμλ λμκ° μ μλλ‘ ννλ§ λ°κΎΈλ μμ μ μ§ννλ€.
π Babel λ±μ₯ μ΄μ
Cross Browsing μ λκΈ° μν΄ λ±μ₯νμλ€.
π€ Cross Browsing (ν¬λ‘μ€ λΈλΌμ°μ§) ?
λΈλΌμ°μ λ κΈ°κΈ°μ μ’ λ₯μ κ΄κ³μμ΄ μ¬μ΄νΈκ° μλλλ‘ λ³΄μ¬μ§κ³ μλλκ² νλ μμ . (νΈνμ±)
λΈλΌμ°μ λ§λ€ λ λλ§ μμ§μ΄ λ€λ₯΄κΈ° λλ¬Έμ κ°λ°μμ μλλλ‘ μλνμ§ μλ κ²½μ°κ° λ°μνλ€.
κ·Έλμ ν¬λ‘μ€ λΈλΌμ°μ§ μμ μ΄ μΆκ°λ‘ νμν¨. π
π Babel μ΄ λΉλνλ κ³Όμ
1. Parsing (νμ±) : μ½λ → AST λ³ν κ³Όμ
2. Transforming (λ³ν) : AST → μνλ ννλ‘ λ³ν [Babel Plugin μ€μ μ€μ β]
3. Printing (μΆλ ₯) : λ³νλ κ²°κ³Όλ¬Ό μΆλ ₯
• Plugin : λ¬Έλ² λ³ν κ·μΉμ νλνλ μΈμΈνκ² μ μ©ν λ μ¬μ©
• Preset : μμ£Ό μ°λ κ·μΉλ€μ λ¬Άμ΄ λμ μΈνΈλ‘, νλ²μ μ μ©ν λ μ¬μ©
π Babel-polyfill μ΄λ ?
μ΅μ ECMAScript νκ²½μ μ 곡νκΈ° μν΄
μ½λκ° μ€νλλ νκ²½μ μ‘΄μ¬νμ§ μλ λ©μλλ€μ μΆκ°νλ μν μ νλ€.
ex. νλ‘κ·Έλ¨μ΄ μ²μμ μμλ λ νμ¬ λΈλΌμ°μ μμ μ§μνμ§ μλ ν¨μλ₯Ό κ²μ¬ν΄μ
κ° Object.prototype μ λΆμ¬μ£Όλ μμ μ§ν.
π Babel vs Babel-polyfill
Babel μ Compile-time μ μ€νλκ³ , Babel-polyfill μ Run-time μ μ€νλλ€.
• νμ¬ μ΄ κΈ°μ μ μ¨λ λλμ§ μλλμ§ κ²μ μ¬μ΄νΈ
λ°μν
'Front-end > Browser' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Bundler λ²λ€λ¬λ ...? (0) | 2022.04.05 |
---|---|
μ£Όμμ°½μ URL (www.google.co.kr) μ μ λ ₯νλ©΄ λ¬΄μ¨ μΌμ΄ λ²μ΄μ§λμ ? (0) | 2022.03.04 |
Cookie μ Cookie options (Set-Cookie) (0) | 2021.11.23 |
Preflight Request : HTTP Message λ₯Ό ν΅ν header κ³΅λΆ (0) | 2021.10.27 |
μ§μ μλ²λ₯Ό λ§λ€λ©΄μ λ°°μ΄ Location Header (0) | 2021.10.26 |
λκΈ