scss๋ฅผ ์ปดํ์ผ ์์ผ์ค package ์ค์น
node.js๊ฐ ์ค์น๋ VSCode์์ scss
ํ์ผ์ ์์ฑํ๊ณ ํฐ๋ฏธ๋์ ์ผ ๋ค.
node -v
ํ์ฌ ์ค์น๋ node js ๋ฒ์ ์ ํ์ธ (v14.17.4)
npm -v
node js์ ํจ๊ป ์ฌ์ฉํ npm ๋ฒ์ ์ ํ์ธ(6.14.14)
npm install -g sass
sassํจํค์ง ์ค์น -g
ํ๋๊ทธ๋ ์ ์ญ(global)
sass scss:css
sass, scssํ์ผ์ cssํ์ผ๋ก ์ปดํ์ผ
sass --help
scss๋ฅผ css๋ก ์ปดํ์ผํ๋ Usage์ ๊ณต
์ปดํ์ผ ๋ 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 ""์ ์ ์ฌ