Github Repository

μ†Œκ°œ

2018년도에 μ‚¬μš©λλ˜ github page 이닀. λ‚˜μ—λŒ€ν•œ κ°„λ‹¨ν•œ μ†Œκ°œμ™€ μž‘μ—…λ¬Όλ“€μ„ μ˜¬λ €λ†“λŠ” μΌμ’…μ˜ λΈ”λ‘œκ·Έμ˜€μ§€λ§Œ μ§€κΈˆμ˜ μƒˆλ‘œμš΄ λΈ”λ‘œκ·Έκ°€ 생긴 탓에 μž μ‹œ λ¬»μ–΄λ‘κΈ°λ‘œν–ˆλ‹€. node.js λ₯Ό 처음 μ΄μš©ν•˜κ²Œ 된 μ‚¬μ΄νŠΈμ΄λ‹€. 이 λ•ŒλŠ” λ…Έλ“œλͺ¨λ“ˆλ“€κ³Ό μ›ΉνŒ© μ‚¬μš©λ²•μ„ μ΅νžˆλŠ”λ° 쀑점을 λ‘μ—ˆλ‹€. Vallista λ‹˜μ˜ μ΄μƒν˜•μ›”λ“œμ»΅ 의 innerHTML 기반 DOM λ Œλ”λ§κΈ°λ²•μ„ λ”°λΌν•΄λ³΄μ•˜λ‹€.

Preview

이미지

이미지

이미지

μ‚¬μš©ν•œ λͺ¨λ“ˆ

Babel

ES6 λ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ˜€λŠ”λ° λΈŒλΌμš°μ €μ—μ„œλ„ 싀행이 λ˜κ²Œλ” λ³€ν™˜ν•΄μ£ΌλŠ” transpiler μž…λ‹ˆλ‹€.

  • babel-core
  • babel-loader μžλ°”μŠ€ν¬λ¦½νŠΈ νŒŒμΌμ„ μ›ΉνŒ©μ—μ„œ λ²ˆλ“€λ§ν•˜κΈ°μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‘œλ”μž…λ‹ˆλ‹€.
  • babel-preset-env

Webpack

μ›ΉνŒ©μ„ μ΄μš©ν•˜μ—¬ μ†ŒμŠ€μ½”λ“œλ“€μ„ λ²ˆλ“€λ§ν•˜κ³  webpack-dev-server λ₯Ό μ‚¬μš©ν•΄ κ°œλ°œμ‹œ μ‹€μ‹œκ°„ λΉŒλ“œλ₯Ό ν•΄μ€λ‹ˆλ‹€.

  • style-loader style νƒœκ·Έλ₯Ό μ‚½μž…ν•˜μ—¬ css에 DOM을 μΆ”κ°€
  • css-loader webpackμ—μ„œ .css νŒŒμΌμ„ μ½μ–΄λ“€μ΄κΈ°μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‘œλ”
  • file-loader webpack μ—μ„œ νŒŒμΌμ„ λ²ˆλ“€λ§ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‘œλ”μž…λ‹ˆλ‹€.
  • webpack-dev-server κ°œλ°œμ‹œ μ‹€μ‹œκ°„ λΉŒλ“œλ₯Ό ν•΄μ£ΌλŠ” λͺ¨λ“ˆμž…λ‹ˆλ‹€.

νŠΉμ§•

  • innerHTML 기반의 DOM λ Œλ”λ§
  • Vanilla Javascript
  • λ°˜μ‘ν˜• μ›Ή

배운점

  • ES6
  • npm 을 μ΄μš©ν•œ μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ œμž‘
  • SPAλ₯Ό μ œμž‘ν•  λ•Œ μ΄μš©λ˜λŠ” Atomic Design 방법둠

μ°Έκ³ ν•΄μ„œ 배운 ν”„λ‘œμ νŠΈ