[React] λ°λ²¨ (Babel)
π λ°λ²¨
λ°λ²¨μ μ΅μ μλ°μ€ν¬λ¦½νΈ λ¬Έλ²μ μ§μνμ§ μλ νκ²½μμλ μ΅μ λ¬Έλ²μ μ¬μ© κ°λ₯νκ² μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό λ³νν΄μ£Όλ μ»΄νμΌλ¬μ λλ€.
// Babel Input: ES2015 arrow function
[1, 2, 3].map((n) => n + 1);
// Babel Output: ES5 equivalent
[1, 2, 3].map(function (n) {
return n + 1;
});
리μ‘νΈμμλ JSX λ¬Έλ²μ createElement
ν¨μλ‘ νΈμΆνκΈ° μν΄ λ°λ²¨μ μ¬μ©ν©λλ€.
π λ°λ²¨ μ€μΉ
npm install @babel/core @babel/cli @babel/preset-react
@babel/core
: λ°λ²¨μ ν΅μ¬ κΈ°λ₯μ κ°μ§κ³ μλ ν¨ν€μ§@babel/cli
: cliμμ μ¬μ©ν λ°μ΄λλ¦¬κ° λ€μ΄μλ€.@babel/preset-react
: 리μ‘νΈλ₯Ό μν νλ¬κ·ΈμΈ μ¬λ¬κ°λ₯Ό λͺ¨μλμ κ²
npx babel --watch src --out-dir , --presets @babel/preset-react
src
λλ ν 리μ λͺ¨λ JSνμΌμ λΆμνκ³ λ³νν λ΄μ©μ μ μ©ν©λλ€.
νλ² μ»΄νμΌ νκ³ λλλ κ²μ΄ μλλΌ νμΌμ΄ λ°λ λλ§λ€ μλμΌλ‘ μ»΄νμΌμ ν©λλ€.
π Plugins
λ°λ²¨μλ ν리μ κ³Ό νλ¬κ·ΈμΈμ΄ μλ€.
- νλ¬κ·ΈμΈ(Prugins): μ½λλ₯Ό λ³ννκ² νλ μμ jsνλ‘κ·Έλ¨
- ν리μ (Preset): μ¬λ¬κ°μ νλ¬κ·ΈμΈμ λͺ¨μλμ κ².
νλ¬κ·ΈμΈμ ν리μ μ 곡μμΌλ‘ μ ν΄μ§ κ²μ μ¬μ©ν μλ μκ³ μ§μ μμ λ§μ νλ¬κ·ΈμΈμ μμ±νμ¬ λ³νμ μ½λμ μ μ©ν μλ μλ€.
π¬ μ΅μ λκΈ