μ΄κ²μ΄ κ°λ₯νμ§ λλ Node.js μ μ₯μμ μνλμ§ νμ€νμ§ μμ΅λλ€.
νΉμ μ’ μμ±μ΄ λͺ¨λ νκ²½μμ μ λλ‘ μλνλ €λ©΄ νΉμ λΉλ ꡬμ±μ΄ νμν κ²½μ°κ° μ’ μ’ μμ΅λλ€(μ:).
μ΄ κ΅¬μ±μ Babel ꡬμ±, Webpack κ΅¬μ± λλ ν΄λΉ ν¨ν€μ§μ λν μ¬μ©μ μ μκ° λ μ μμ΅λλ€.
νμ¬λ‘μλ ν¨ν€μ§λ₯Ό ꡬμ±νλ νμ€νλ λ°©λ²μ΄ μμ΅λλ€.
μ΄λ€ μ¬λλ€μ ν¨ν€μ§ μ΄λ¦μ λ°μ package.json
νλλ₯Ό λ°°μΉνκ³ ν¨ν€μ§κ° μ½μ μ μλ κ·μΉμ μ¬μ©ν©λλ€. κ·Έλ¬λ κ·Έκ²μ μΆ©λΆν νμ€μ μΈ λλμ΄ λ€μ§ μμ΅λλ€.
ν¨ν€μ§μ λ°νμ λλ λΉλ μκ°μ λν μ¬μ©μ μ§μ ꡬμ±μ΄ νμν κ²½μ°.
JavaScriptκ° νΉμ κ²½μ°μ λΉλ λ¨κ³λ₯Ό νμλ‘ νλ κ²½μ°κ° μμ΅λλ€. μ΄ κ΅¬μ± κΈ°λ₯μλ λͺ¨λ ν¨ν€μ§μ μ λ¬ν μ μλ μ νμ "λΉλ μ’ μμ±" μ΅μ μ΄ μμ΅λλ€(λ€μ΄ν°λΈ λͺ¨λμ λΉλνκ±°λ JavaScriptλ₯Ό νμ νμμΌλ‘ λ³ν).
ꡬμ±μ λ°λΌ ν¨ν€μ§μλ νμνμ§ μμ νΉμ μ’ μμ±μ΄ νμν μ μμ΅λλ€(fe λΉλ μ’ μμ±).
λ°λΌμ ν¨ν€μ§ μμ€ν μ μ¬μ©μκ° νΉμ ν¨ν€μ§ ꡬμ±μ κ°μ§κ³ μλ κ²½μ° μ€μΉν μΆκ° μ’ μμ±μ κ²°μ ν μ μλ€λ μ μμ μΆ©λΆν λλν κ²μ λλ€.
μλ§λ μ΄ κΈ°λ₯μ κΈ°μ‘΄ λ€μ΄ν°λΈ λͺ¨λ μμ€ν μμ μ 체 JavaScript μμ€ν μΌλ‘ νμ₯λμ΄μΌ ν μλ μμ΅λλ€(μ¬μ©νκΈ° μ¬μ΄ λ°©μμΌλ‘ λ€μ΄ν°λΈ λͺ¨λμ κΉλ€λ‘μ΅λλ€).
μ΄λ μ νμ μ’
μμ±κ³Ό κ°μ κ²½μ°μλ λ§€μ° μ μ©ν μ μμ΅λλ€. κ·Έκ²μ μ§μ νλ €λ©΄ μ€μ μΌλ‘, μ¬μ΄ κ²μ
λλ€ κ·Έ (μλ₯Ό λ€μ΄) λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ© three
λμ babylonjs
. κ·Έλ¬λ©΄ μ μ ν μ’
μμ±μ΄ μ€μΉλ©λλ€. νΌμ΄ μ’
μμ±κ³Ό λΉμ·νμ§λ§ λ μ½κ³ μ νμ depsμ μμ‘΄νλ μ£Όμ΄μ§ ν¨ν€μ§μλ νΉμ μ‘°κ±΄μ΄ μ§μ λμλμ§ μ¬λΆλ₯Ό κ²°μ νκΈ° μν΄ κ΅¬μ± APIμ μμ μ μΌλ‘ μ‘μΈμ€νλ νμ€ λ°©λ²μ΄ μμ΅λλ€(νμ¬λ‘μλ κΉλ€λ‘κ³ node_modulesμ λͺ¨λ λν¬ μνλ μ΄ κ²½μ° νμ€).
λ λ€λ₯Έ μλ‘, λλλ‘ ν¨ν€μ§ μλΉμλ λ€λ₯Έ λ°©μμΌλ‘ μ½λλ₯Ό μ»΄νμΌνκΈ° μν΄ μΌλ°μ μΈ μ»΄νμΌλ μΆλ ₯ λμ ν¨ν€μ§ μμ€λ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
μΌλ°μ μΌλ‘ NPMμ΄ μ§κΈκΉμ§ μΌλ°μ μΈ μ²λ¦¬ λ°©λ²μ μ 곡νμ§ μλ κ·Έλ° μ’ λ₯μ λ¬Έμ κ° μμ΅λλ€.
ν¨ν€μ§ μμ±μ λ° ν΄λΉ μ¬μ©μ
μ΄ κΈ°λ₯μ ν΅ν΄ ν¨ν€μ§ μμ±μλ νμ€ λ°©μμΌλ‘ ν¨ν€μ§μ κΈ°λ₯μ μΆκ°ν μ μμ΅λλ€. μ¬κΈ°μμ "μ€, CSSλ₯Ό μΌλ° ν¨ν€μ§ νμΌμ λ΄μ₯νλ λμ μΈλΆμ μΆκ°νκ³ μΆμ΅λλ€. λ¬Έμ μμ΅λλ€. νλ‘μ νΈ κ΅¬μ±μ μ΄λ¬ν μ΅μ μ΄ μμΌλ©΄ μ΄ ν¨ν€μ§λ μΆλ ₯μμ ββλͺ¨λ CSSλ₯Ό μλμΌλ‘ μ μΈν©λλ€." κ·Έλ° λ€μ ν΄λΉ νμ€ κ΅¬μ±μ΄ μ£Όμ΄μ§λ©΄ ν¨ν€μ§ μμ±μλ Webpack, Babel λλ μνλ λꡬλ₯Ό μ¬μ©νμ¬ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
μ΄λ¬ν μλ―Έμμ λͺ¨λ ν¨ν€μ§μλ μ¬μ©μκ° μ΅μ μ μ λ¬ν μ μλ λͺ κ°μ§ νμ€ λ°©λ²μ΄ μμ΅λλ€. μ¬κΈ°μ μ΅μ μ ν¨ν€μ§κ° μ¬μ©νλ μμ€ νμΌμ΄λ λΉλ λꡬμ κ΄κ³μμ΄ λ체 μ’ μμ± μΈνΈ λλ λΉλ λ¨κ³λ₯Ό μ§μν μ μμ΅λλ€.
μ¬μ©μ μΈ‘ ꡬμ±μ΄ μμ§λ§ μ΄λ¬ν μ΅μ μ ν¨ν€μ§ μΈ‘ ꡬμ±μ 맀νλμ΄ μ€μΉ μ€ μ€νλκ±°λ μ μ¬ν μ’ μμ±(λ°λΌμ λΉλ λꡬ)μ΄ μ§μ λ©λλ€.
λλΆλΆμ ν¨ν€μ§κ° κΈ°λ³Έ μμ€ μ½λ μΆλ ₯μ μ 곡νκ³ μΌλΆ μ¬μ©μκ° μ΄λ₯Ό μ¬μ©μ μ§μ νλ κ²μ λ³Ό μ μμμ΅λλ€.
μ μΈ νμΌμ μν΄ μ νλμ§ μλ μ 체 κΈ°λ₯μ μ¬μ©νμ¬ TypeScript μμ€ μ½λλ₯Ό μ»΄νμΌνλ κ°μ₯ μ’μ λ°©λ²μ μμ TypeScript μμ€ μ½λλ₯Ό μ 곡νκ³ μλΉμ μΈ‘μμ λ³ννλ κ²μ λλ€. κ΅¬μ± κ·μΉμ΄ μ΄μ ν¬κ² λμμ΄ λ κ²μ λλ€.
TypeScriptλ μλΉμκ° TypeScript μμ€λ₯Ό λ³νν΄μλ μ λλ€κ³ μ μΈνμ§λ§, μ°κ²°λ λ¬Έμ λ‘ μΈν΄ νμκ° λ μ μλ ꡬλ©μ ν μ΅λλ€. κ΅¬μ± νμ€μ΄ μ μ©ν μ μλ ν κ°μ§ μλ‘λ§ μ¬μ©νκ³ μμ΅λλ€.
μ΄ κΈ°λ₯μ λλλ‘ κ°λ°μκ° μ΄λ¬ν μ’ λ₯μ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λ§μ μ΄λ €μμ μ§λ©΄νκΈ° λλ¬Έμ λλμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μ΄ κΈ°λ₯μ λλλ‘ κ°λ°μκ° μ΄λ¬ν μ’ λ₯μ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λ§μ μ΄λ €μμ μ§λ©΄νκΈ° λλ¬Έμ λλμ΅λλ€.