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 ""์ ์ ์ฌ