πŸŽ„ μ„±μž₯일지 4.0

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 (1.0)ν‚€μ›Œλ“œ
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ (2.0)κ²½ν—˜ μœ„μ£Όλ‘œ
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ (3.0)정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„±
(3.1)230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€
(3.2)230313λΆ€ν„° 쒀더 κ²½ν—˜, 감정 μœ„μ£Όμ˜ λ‚΄μš©λ„ λ‹΄κΈ°!
🌾 (4.0)ν•™μŠ΅ ν‚€μ›Œλ“œμ—μ„œ μ΅œλŒ€ν•œ κ°„λ‹¨ν•œ 정보 제곡, κ³ λ―Όμ—μ„œ λ‚΄ κ²½ν—˜μ„ μžμ„Ένžˆ 적자!

πŸ”‘ 였늘의 ν•™μŠ΅ ν‚€μ›Œλ“œ

κ³ λ―Ό 사항

1. 각 μ»΄ν¬λ„ŒνŠΈ 별 μŠ€νƒ€μΌμ„ μ–΄λ–»κ²Œ μž…νžκΉŒ?

각각의 MVC νŒ¨ν„΄μ„ μ μš©ν•œ μ»΄ν¬λ„ŒνŠΈλ§ˆλ‹€ 독립적인 μŠ€νƒ€μΌμ„ μ μš©ν•˜κ³  싢은데… 보톡 react와 ν•¨κ»˜ μ“°λŠ” styled-componentλ‚˜ emotion 같은 css in JSλŠ” μ‘°μ‚¬ν•΄λ³΄λ‹ˆ vanilla JS와 μ‚¬μš©μ€ κ°€λŠ₯ν•˜μ§€λ§Œ ꡉμž₯히 λΆˆνŽΈν•˜λ‹€κ³  ν•œλ‹€. ν•΄μ„œ μ§€κΈˆ 생각 쀑인건 μ•„μ£Ό μž‘μ€ λ‚˜λ§Œμ˜ tailwindλ₯Ό λ§Œλ“€μ–΄λ³΄λ©΄ μ–΄λ–¨κΉŒ..?!(아직 생각은 μ—¬λŸ¬ κ°„λ‹¨ν•œ ν΄λž˜μŠ€λ“€μ„ λ§Œλ“œλŠ” 것 λΏμ΄μ§€λ§Œ!!)

=> tailwind CSSλ₯Ό μ‚¬μš©ν•΄λ³΄κΈ°λ‘œ κ²°μ •! μ²˜μŒμ—” 순수 css둜 μ—¬λŸ¬ classλ₯Ό λ§Œλ“€μ–΄μ„œ 마치 μž‘μ€ tailwind처럼 μ‚¬μš©ν•΄λ³΄κΈ°λ‘œ ν–ˆμ§€λ§Œ, 이번 ν”„λ‘œμ νŠΈμ—λŠ” 크게/많이 κ·œκ²©ν™”ν•  style듀이 많이 μžˆμ§„ μ•Šμ•„μ„œ tailwindλ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ κ·Έ μ•ˆμ—μ„œ customν•œ μŠ€νƒ€μΌ λͺ‡κ°œλ₯Ό λ§Œλ“€μ–΄μ„œ μ μš©ν•΄λ³΄κΈ°λ‘œ κ²°μ •ν–ˆλ‹€.

2. tsconfig.json path 섀정…!!!

"paths": {
       "@src/*": ["src/*"],
       "@components/*": ["src/components/*"],
       "@styles/*": ["src/styles/*"],
       "@utils/*": ["src/utils/*"],
     }, 

μœ„μ™€ 같이 경둜λ₯Ό μ„€μ •ν–ˆμ§€λ§Œ, js둜 컴파일 μ‹œμ—λ„ @κ°€ κ·ΈλŒ€λ‘œ λ‚¨μ•„μ„œ μ—λŸ¬κ°€ λ°œμƒν–ˆλ‹€..! 이게 μ™œ 컴파일 λ•Œ μ•Œμ•„μ„œ μ•ˆλ°”λ€Œμ§€β€¦!!!!

ν•΄κ²°: typescript의 β€˜tsc’ λͺ…λ Ήμ–΄ λ§ŒμœΌλ‘œλŠ” 컴파일 μ‹œμ— 섀정해놓은 pathλ₯Ό 바꿔주지 λͺ»ν•œλ‹€. 이 λ•Œ ν•„μš”ν•œ 게, tsc-aliasλΌλŠ” 라이브러리!!! μΈμŠ€ν†¨ ν›„, tsc && tsc-alias λ₯Ό ν•΄μ£Όλ©΄ 지정해둔 pathκΉŒμ§€ μ•Œμ•„μ„œ μƒλŒ€κ²½λ‘œλ‘œ js에 λ°˜μ˜λœλ‹€.

3. tsc, tsc-alias, tailwind λ³€ν™˜ λͺ¨λ‘ ν•œλ²ˆμ— watch둜 ν•  수 μ—†μ„κΉŒ???

μœ„μ˜ 컴파일 과정을 λͺ¨λ‘ μ €μž₯ μ‹œ λ§ˆλ‹€ 반영되게 watch modeλ₯Ό μΌœλ‘κ³  μ‹Άμ—ˆλ‹€. ν•΄μ„œ μ•„λž˜μ™€ 같이 슀크립트λ₯Ό μ§°λ‹€.

"scripts": {
    "watch": "tsc --watch && tsc-alias --watch ....."
  },

ν—Œλ° watch λͺ¨λ“œλŠ” μœ„μ™€ 같이 ν•œλ²ˆμ— 싀행이 μ•ˆλœλ‹€! κ·ΈλŸ¬λ‹€ λ°œκ²¬ν•œ 게 npm-run-allμ΄λΌλŠ” 라이브러리!

μ„€μΉ˜ ν›„ μ•„λž˜μ™€ 같이 scriptsλ₯Ό 짜면 ν•΄κ²°λœλ‹€.

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "watch:ts": "tsc --watch",
    "watch:tw": "npx tailwindcss -i ./src/styles/global.css -o ./dist/styles/output.css --watch",
    "watch:tsa": "tsc-alias --watch",
    "watch": "npm-run-all -p watch:*"
  },

그리고 npm run watchλ₯Ό μ‹€ν–‰ν•˜λ©΄ 3가지 λ™μ‹œμ— watch λͺ¨λ“œκ°€ μ μš©λ˜μ–΄ μ‹€ν–‰λœλ‹€.

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

였늘 ν•˜λ£¨λŠ” 정말 더 빨리 κ°”λ‹€. 일단 μ›ν•˜λŠ”λŒ€λ‘œ μ»΄ν¬λ„ŒνŠΈ λ³„λ‘œ μŠ€νƒ€μΌμ„ μ£ΌλŠ” 방법을 μ μš©ν–ˆλ‹€. 그리고 μ–΄λŠμ •λ„ κΈ°λ³Έ μ»΄ν¬λ„ŒνŠΈλ“€μ„ λ§Œλ“€μ–΄μ„œ 틀도 μ™„μ„±ν–ˆλ‹€. λ‹€λ§Œ 이제 또 고민은 μ΄λ ‡κ²Œ 각각 κ΅¬ν˜„λœ μ»΄ν¬λ„ŒνŠΈλ“€μ„ μ–΄λ–»κ²Œ 쒀더 κ°€λ…μ„±μžˆκ³  보기 μ’‹κ²Œ 트리 ꡬ쑰둜 λ§Œλ“€μ–΄μ£ΌλŠλƒ, 그리고 마치 λ¦¬μ•‘νŠΈμ˜ propsλ₯Ό μ „λ‹¬ν•˜μ—¬ μžμ‹ μ»΄ν¬λ„ŒνŠΈκ°€ λ Œλ”λ§λ˜λ“―μ΄ κ΅¬ν˜„ν•˜λŠλƒμ΄λ‹€. 완성해야될 μ»΄ν¬λ„ŒνŠΈλ“€λ„ ν•œ λ‘κ°œκ°€ μ•„λ‹ˆκ³ , μ„œλ²„λ„ λ§Œλ“€μ–΄μ•Όν•˜κ³ β€¦(이건 κ·Έλƒ₯ json-serverν•΄μ•Όν•˜λ‚˜β€¦ γ…  κ·Έλž˜λ„ express 또 써보고 싢은데..!), 심지어 데이터도 ν¬λ‘€λ§ν•΄μ™€μ•Όν•œλ‹€. 일단 μ§€λ ˆ 겁먹으면 생각할 게 λ„ˆλ¬΄ λ§Žμ•„μ§€λ‹ˆκΉŒ..! 일단 ν•˜λ£¨ν•˜λ£¨ μž‘κ²Œ μͺΌκ°œμ„œ μ™„μ„±ν•΄λ‚˜κ°€λ³΄μž :)~! κ·Έλž˜λ„ 재미있게 ν–‰λ³΅ν•˜κ²Œ κ³΅λΆ€ν•˜κ³  μžˆμœΌλ‹ˆκΉŒ!

였늘의 μž˜ν•œ 점

  • 각 μ»΄ν¬λ„ŒνŠΈ μŠ€νƒ€μΌ 적용 방법을 κ³ λ―Όν•˜κ³  μ°Ύκ³  μ μš©ν•œ 점(feat. tailwindCSS)
  • κΈ°λ³Έ 틀이 λ˜λŠ” μ»΄ν¬λ„ŒνŠΈλ“€μ„ κ΅¬ν˜„ μ™„λ£Œν•œ 점
  • λ²ˆλ“€λŸ¬μ—†μ΄ typescript, type-alias둜 μ ˆλŒ€κ²½λ‘œ ν•΄κ²°ν•œ 점(μ§„μ§œ 속이 λ‹€ μ‹œμ›ν•˜λ„€)

였늘의 보완할 점

  • yarn 버전… 흑

μ°Έκ³