TIL Day-33(2)

๋šœ๋ฆฌ์˜ ๊ฐœ๋ฐœ์ผ๊ธฐยท2021๋…„ 10์›” 27์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
19/40

SCSS ์„ค์น˜ ๋ฐฉ๋ฒ•

scss๋ฅผ ์ปดํŒŒ์ผ ์‹œ์ผœ์ค„ package ์„ค์น˜

  1. node.js๊ฐ€ ์„ค์น˜๋œ VSCode์—์„œ scssํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์„ ์ผ ๋‹ค.

  2. node -v ํ˜„์žฌ ์„ค์น˜๋œ node js ๋ฒ„์ „์„ ํ™•์ธ (v14.17.4)

  3. npm -v node js์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  npm ๋ฒ„์ „์„ ํ™•์ธ(6.14.14)

  4. npm install -g sass sassํŒจํ‚ค์ง€ ์„ค์น˜ -gํ”Œ๋ž˜๊ทธ๋Š” ์ „์—ญ(global)

  5. sass scss:css sass, scssํŒŒ์ผ์„ cssํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ
    sass --help scss๋ฅผ css๋กœ ์ปดํŒŒ์ผํ•˜๋Š” Usage์ œ๊ณต

  6. ์ปดํŒŒ์ผ ๋œ cssํด๋” ์ƒ์„ฑ๋œ ๊ฒƒ ํ™•์ธ

sass, scssํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ, _๋ฅผ ๋ถ™์ด๋ฉด ๋ณ„๋„์˜ cssํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.



๊ฐ€์ ธ์˜ค๊ธฐ, ๋ชจ๋“ˆ

@import ๊ทœ์น™

  • @import "./filename" ํ˜•์‹

  • ํฐ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ ์„ค์ •

  • @import url("./filename.scss") : urlํ•จ์ˆ˜ ๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค.

  • @import "./filename.scss" : ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ๋˜์–ด cssํŒŒ์ผ์—์„œ๋Š” scss๋™์ž‘ํ•  ์ˆ˜ ์—†๊ฒŒ๋œ๋‹ค.

  • @import "http://google.com/filename.scss" : httpํ”„๋กœํ† ์ฝœ์ด ๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค.

  • ์œ„์˜ 3๊ฐ€์ง€ ๋ชจ๋‘ ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋กœ ํฌํ•จ์ด ๋œ๋‹ค.

@use ๊ทœ์น™

  • namespace ์ ์šฉ ๊ฐ€๋Šฅ

  • ๊ฐ ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ

  • mixin, ํ•จ์ˆ˜, ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ด์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ ๐Ÿ‘‰๐Ÿป ๋ชจ๋“ˆ

  • namespace.function() ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ

  • ์–ด๋””์„œ ๊ฐ€์ ธ์˜จ ์š”์†Œ์ธ์ง€ ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์Œ

@forward ๊ทœ์น™

  • forward๋ฅผ ์ด์šฉํ•ด์—ฌ ๊ฐ€์ ธ์˜จ ๋ชจ๋“ˆ ํŒŒ์ผ์„ @use๋ฅผ ์‚ฌ์šฉํ•ด importํ•˜์—ฌ ์‚ฌ์šฉ

  • ํ•ด๋‹น ํด๋” ๋ฒ”์œ„ ๋ฐ–์—์„œ @use ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ

  • ๋‚ด๋ณด๋‚ผ ํด๋”์— @forword "./mixins" as mix-* ํ˜•์‹์œผ๋กœ ์ •์˜

  • mix-์— *์ž๋ฆฌ์— mixin์˜ ์ด๋ฆ„์ด ๋ถ™์Œ

  • ๊ฐ€์ ธ์˜ฌ ํด๋”์— @use "../filename/main" ์œผ๋กœ ๋ฐ›์•„์™€์„œ ์‚ฌ์šฉ



๋‚ด์žฅ ๋ชจ๋“ˆ

๋” ๋งŽ์€ Built-In Modules์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ์˜ˆ์ œ

  • sass:color

  • sass:list

  • sass:map map์—์„œ key์™€ value ๊ด€๋ จ๋œ ๊ฐ’ ๋“ฑ์„ ์กฐํšŒ

  • sass:math

  • sass:mata Sass์˜ ๋‚ด๋ถ€ ์ž‘๋™์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋…ธ์ถœ

  • sass:selector

  • sass:string

Global Functions(์ „์—ญ ํ•จ์ˆ˜)

  • hsl($hue $saturation $lightness) ์ƒ‰์ƒ ์ฑ„๋„ ๋ช…๋„

  • hsla($hue $saturation $lightness / $alpha) ์•ŒํŒŒ๊ฐ’ ์ถ”๊ฐ€

  • if($condition, $if-true, $if-false) ์‚ผํ•ญ์—ฐ์‚ฐ์ž(์กฐ๊ฑด ? true : false)

  • rgb($red $green $blue)

  • rgba($red $green $blue / $alpha) ํˆฌ๋ช…๋„ ์ถ”๊ฐ€



๋””๋ฒ„๊ทธ

  • @debug "Medssage" console.log()์™€ ์œ ์‚ฌ

  • @warn "Medssage" console.warn()๊ณผ ์œ ์‚ฌ

  • @error "Medssage" console.error(), throw ""์™€ ์œ ์‚ฌ

0๊ฐœ์˜ ๋Œ“๊ธ€