[🦁 TIL 18일차] 6μ›” 20일

κ·Όλ“€Β·2023λ…„ 6μ›” 20일
0
post-thumbnail

1.μ€€λΉ„

  • βœ”οΈ μƒˆλ‘œμš΄ 클둠 방법

    • λ‚΄ ν„°λ―Έλ„μ—μ„œ git clone 을 ν•˜κ²Œ 되면 ν΄λ”λ§Œ 볡사할 뿐 λ‚΄ 원격 μ €μž₯μ†Œμ™€ remote λ˜μ§€ μ•ŠλŠ”λ‹€.
    • κ·Έλž˜μ„œ μ›ν•˜λŠ” 원격저μž₯μ†Œλ₯Ό 포크(Fork)ν•΄μ˜€λ©΄ λœλ‹€. β†’ μžλ™μœΌλ‘œ λ‚΄ 원격저μž₯μ†Œλ‘œ 볡사
  • 이미 ν•œλ²ˆ κΉ”μ•˜λ˜ νŒ¨ν‚€μ§€λ“€μ€ λ…Έλ“œλͺ¨λ“ˆκ³Ό package.json에 κΈ°μ–΅λ˜λŠ”λ° κ·Έλž˜μ„œ ν•œκΊΌλ²ˆμ— 뢈러였기 μœ„ν•΄ npm i 만 ν•˜λ©΄ μžλ™μœΌλ‘œ κΉ”λ¦°λ‹€.

2. Sass ν”„λ‘œμ νŠΈ

  • μ½˜ν…μΈ  블둝
    • 인자 전달 외에도 λ―ΉμŠ€μΈμ€ μ½˜ν…μΈ  블둝을 μ‚¬μš©ν•  수 μžˆλ‹€.
    • μ€‘κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•΄ μ „λ‹¬λ˜λ©° @content μœ„μΉ˜μ— μ „λ‹¬λœ μ½˜ν…μΈ κ°€ μ‚½μž…λœλ‹€.
$break : 768px;

@mixin mobile {
  @media (max-width: #{$break - 1}) {
    @content;
  }
}
body {
  @include mobile {
    background: yellow;
  }
}
  • ν•¨μˆ˜
// λ‹¨μœ„ 제거 ν•¨μˆ˜ ------------------------------------------------------------------ /
@function removeUnit($value) {
  @return math.div($value, $value * 0 + 1);
}

⚠️ κ³±ν•˜κΈ° μΌλ•ŒλŠ” λ‹¨μœ„κ°€ κ°™μœΌλ©΄ 결과물은 λ‹¨μœ„κ°€ νƒˆλ½ν•œ μ±„λ‘œ return λœλ‹€.

// px을 rem λ‹¨μœ„λ‘œ λ³€κ²½ν•˜λŠ” ν•¨μˆ˜ ------------------------------------------------------- /
@function rem($value, $base: $rootUnit) {
  $removeValue: removeUnit($value);
  $removeBase: removeUnit($base);
  @return math.div($removeValue, $removeBase) * 1rem;
}
  • @import 와 @forwardλŠ” λΆˆλŸ¬μ˜€λŠ” μˆœμ„œκ°€ 정말 μ€‘μš”ν•˜λ‹€.

β†’ μΊμŠ€μΌ€μ΄λ”©μ˜ 영ν–₯ λ•Œλ¬Έμ— μ μš©λ˜λŠ” μˆœμ„œκ°€ 달라진닀.
β†’ κ·Έλž˜μ„œ defaultλ₯Ό κ°€μž₯ λ§ˆμ§€λ§‰μ— μ„ μ–Έν•΄μ•Ό ν•œλ‹€.

@forward "normalize";
@forward "reset";
@forward "default";
//λ‚΄κ°€ μ–΄λ–€ μˆœμ„œλ‘œ 가져와야 할지 정말 μ€‘μš”ν•˜λ‹€.
  • ⚠️ 배포 μ‹œμ—λŠ” μ ˆλŒ€κ²½λ‘œλ₯Ό λΆˆλŸ¬μ™€μ•Όν•œλ‹€.

  • μƒλŒ€κ²½λ‘œλŠ” 배포 μ‹œ 경둜 λ•Œλ¬Έμ— 였λ₯˜κ°€ λ‚  수 μžˆλ‹€. (@use ν•΄μ˜¨ νŒŒμΌλ§ˆλ‹€ μœ„μΉ˜κ°€ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ—)

    β†’ μ ˆλŒ€κ²½λ‘œ : url(/assets) = src/assets

    β†’ μƒλŒ€κ²½λ‘œ : url(./../../assets)

3. 회고

μ–΄μ œλŠ” μ—„μ²­λ‚œ λ©˜λΆ•μ΄μ–΄μ„œ 잘 이해가 μ•ˆκ°„ μƒνƒœλ‘œ κ°œμΈν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ‹€κ°€ 계속 λ§‰ν˜€μ„œ ν¬κΈ°ν•˜κ³ μ‹Άμ—ˆλ‹€. ν•˜μ§€λ§Œ 운이 μ’‹κ²Œ λ‚΄κ°€ λ§‰ν˜”λ˜ 뢀뢄에 λŒ€ν•΄ 였늘 μˆ˜μ—…μ—μ„œ λ‹€λ€„μ‘Œκ³  κ·Έλž˜μ„œ μ–΄μ œ 가지고 있던 μ˜λ¬Έμ μ„ ν’€ 수 μžˆμ—ˆλ‹€. μ—­μ‹œ λ‚˜λŠ” λ°˜λ³΅ν•™μŠ΅μ΄ λ§žλŠ” 곡뢀법인지 λ‘λ²ˆ μ„Έλ²ˆ ν•˜κ³ λ‚˜λ‹ˆκΉŒ 이해가 κ°€κΈ° μ‹œμž‘ν–ˆλ‹€. μ–΄μ œλŠ” @forward 와 @useκ°€ λ„ˆλ¬΄ ν—·κ°ˆλ €μ„œ ꡳ이 μ™œ μ΄λ ‡κ²Œ μ¨μ•Όν• κΉŒ μ‹Άμ—ˆλŠ”λ° 계속 μ½”λ“œλ₯Ό 쳐보고 ν•„μš”ν•  λ•Œλ§ˆλ‹€ κ°€μ Έμ˜€κ³  내보내기λ₯Ό ν•˜κ³  λ‚˜λ‹ˆκΉŒ 이해가 μ•„μ£Ό 쑰금 됐닀.

ν•˜μ§€λ§Œ κ·Έλž˜λ„ μƒˆλ‘œμš΄ κ±° λ‚˜κ°ˆ λ•Œλ§ˆλ‹€ λ‚˜λ§Œ 이해λͺ»ν•˜λŠ”건가 싢은데 λ‹€λ“€ μ–΄λ ΅λ‹€κ³  ν•˜μ…¨λ‹€. λ‚˜λ§Œ 이해가 μ•ˆκ°€λŠ”κ²Œ μ•„λ‹ˆλΌ μ•ˆμ‹¬μ΄ λμ§€λ§Œ 정말 λ‹€λ“€ λ‚˜λ§ŒνΌ 이해λ₯Ό λͺ»ν•˜κ³  μžˆλŠ”κ±ΈκΉŒ λΌλŠ” 의문점과 λΆˆμ•ˆκ°μ΄ λ“€κΈ΄ν–ˆλ‹€γ… γ… γ…  그리고 ν•˜λ©΄ ν•  수둝 Sassκ°€ 정말 νŽΈν•˜λ‹€κ³  생각됐디. μ½”λ“œμ˜ μž¬ν™œμš©μ„ 정말 많이 ν•œλ‹€. λ‚΄κ°€ λ§Œλ“  λΆ€ν’ˆμ˜ 이름과 μ†μ„±λ§Œ μ œλŒ€λ‘œ κ°μΈμ‹œν‚€λ©΄ λΉ λ₯΄κ²Œ μŠ€νƒ€μΌ μž‘μ—…μ„ ν•  수 μžˆμ„ 것이닀. 였늘의 혁λͺ…은 λ‚΄κ°€ κ°€μž₯ μ–΄λ €μ›Œν–ˆλ˜ px 을 rem λ‹¨μœ„λ‘œ λ³€ν™˜ν•΄μ£ΌλŠ” ν•¨μˆ˜... μ§„μ§œ κΏ€ν…œμ΄λ‹€. ν•œλ²ˆ ν•¨μˆ˜λ₯Ό μ •μ˜ν•΄λ‘λ©΄ 계속 μ“Έ 수 μžˆλ‹€λŠ” 정말 ν¬λ‚˜ν° μž₯점!! 이건 혁λͺ…이닀!

파일 μ™”λ‹€κ°”λ‹€ ν•˜κ³  λ„ˆλ¬΄ λ§Žμ€ @mixin 을 λ§Œλ“  것 μ™Έμ—λŠ” μ–΄μ œμ— λΉ„ν•΄ μ—„μ²­ 크게 μ–΄λ €μš΄ 건 μ—†μ–΄μ„œ λ‹€ν–‰μ΄μ˜€λ‹€. 그런데 각 νŒŒμΌλ§ˆλ‹€ μ‘΄μž¬ν•˜λŠ” 이유λ₯Ό 이해해야 ν•  것 κ°™λ‹€. κ°‘μžκΈ° color νŒŒμΌκ°€κ³  media-query 파일 κ°”λ‹€μ˜€κ³  μ •μ‹ μ—†μ—ˆλ‹€. κ·Έλž˜λ„ 였늘 μˆ˜μ—… 덕뢄에 κ°œμΈν”„λ‘œμ νŠΈ header뢀뢄을 μ™„μ„±μ‹œν‚¬ 수 μžˆμ„ 것 κ°™λ‹€. 유λͺ…ν•œ μ‚¬μ΄νŠΈλ“€ λ“€μ–΄κ°€μ„œ κ°œλ°œμž‘λͺ¨λ“œλ‘œ 보면 주석이 λ³„λ‘œ μ—†λŠ” 것보고 λ‹€λ“€ μ²œμž¬μΈκ°€ μ‹Άμ—ˆλŠ”λ° 배포λͺ¨λ“œμ—μ„œλŠ” 주석을 μ•ˆλ‚΄λ³΄λ‚Ό 수 μžˆλŠ” 방법을 μ•Œκ³ λ‚˜λ‹ˆκΉŒ μ΄λž˜μ„œ 배포λͺ¨λ“œμ™€ 개발λͺ¨λ“œκ°€ λ‹€λ₯΄λ‹€κ³ ν•˜λŠ”κ΅¬λ‚˜ μ‹Άλ‹€.

λͺ©μš”일에 ν”„λ‘œμ νŠΈμ‘° λ°œν‘œκ°€ λ‚˜λŠ”λ° κ°•μ‚¬λ‹˜κ»˜μ„œ μ €λ²ˆ κΈ°μˆ˜λ“€μ€ λ‹€ μ‹Έμ› λ‹€λŠ” μ–˜κΈ°λ₯Ό λ“£κ³  λ¬΄μ„œμ› λ‹€. 우리 μ‘° 제발 ν‰ν™”λ‘­κ²Œ μ§€λ‚΄μš”...γ…Žγ…Žγ…Ž 저도 μ—΄μ‹¬νžˆ ν• ν…Œλ‹ˆ...γ…Žγ…Žγ…Ž

profile
ν”„λ‘ νŠΈμ—”λ“œ 개발자 μ·¨μ€€μƒμž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€