[Sass] Sass ์ค์น, ์ปดํ์ผ ๋ช ๋ น์ด
๐ฐ ์ค์นํ๊ธฐ
Node.js ์ค์น ์๋ฃ ํ sass ํจํค์ง๋ฅผ ์ค์นํ๋ค. ์ค์ต์์๋ ๋ก์ปฌ๋ก ์ค์นํ๋ค.
npm i -D sass
- -D๋ --save-dev์ ์ฝ์: Sass ํจํค์ง๋ฅผ ๊ฐ๋ฐ ์์กด์ฑ(devDependency)์ผ๋ก ์ค์นํ๋ค๋ ์๋ฏธ.
- ๊ฐ๋ฐ ์์กด์ฑ: ํ๋ก์ ํธ์ ๊ฐ๋ฐ ๋จ๊ณ์์๋ง ํ์ํ ํจํค์ง ์ค์น. ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ด ํจํค์ง๋ค ํ์ ์์.
- ๋ชฉ์ : ํ ์คํธ, ๋น๋, ๋๊ตฌ, ๋ฆฐํ , CSS ์ ์ฒ๋ฆฌ๊ธฐ ๋ฑ ๊ฐ๋ฐ ์ค์๋ง ํ์ํ ๋๊ตฌ๋ค์ ๊ด๋ฆฌ ํ ๋ ์ฌ์ฉํจ.
- -D ์ฌ์ฉํด์ ์ค์น ์ package.json ํ์ผ์ devDependencies ํญ๋ชฉ์ ์ถ๊ฐ๋จ.
=> package.json, dependencies๊ฐ ๋ญ์ง? https://kellyjs.tistory.com/33
์ค์น ํ ํ์ผ ๋ ๊ฐ์ ํด๋๊ฐ ์๊น
๐ฐ ์ปดํ์ผ ๋ช ๋ น์ด
: ์น ๋ธ๋ผ์ฐ์ ๋ Sass ํ์ผ ํด์ํ ์ ์์ => ๋ช ๋ น์ด๋ฅผ ํตํด CSS ํ์ผ๋ก ๋ณํ ์ฒ๋ฆฌํจ
๋ช ๋ น์ด๋ฅผ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด package.json ํ์ผ์ scripts ํญ๋ชฉ์ Sass CLI ๋ช ๋ น์ด ๋ฑ๋กํจ
{
"scripts": {
"dev": "live-server",
"sass": "sass src/scss/main.scss src/css/main.css",
"update": "sass --update src/scss/main.scss src/css/main.css",
"watch": "sass --update --watch src/scss/main.scss src/css/main.css",
"sass-all": "sass src/scss:src/css",
"update-all": "sass --update src/scss:src/css",
"watch-all": "sass --update --watch src/scss:src/css",
"compressed": "sass src/scss:src/css --style compressed",
"no-map": "sass src/scss:src/css --no-source-map",
"clean": "rm -rf src/css"
},
"devDependencies": {
"sass": "^1.77.2"
}
}
๐ด scripts ์น์ ์ ์ฌ์ฉํ ํ๋๊ทธ(์์ ๋ ์ค์ ํ ๋ช ๋ น์ด๋ค)
- NPM ๋ช ๋ น์ด๋ก ์คํํ ์ ์๋ ๋ค์ํ ์คํฌ๋ฆฝํธ ์ ์
- npm run <script-name>์ ํตํด ์คํ
- "sass" - scssํ์ผ์ ์ปดํ์ผํ์ฌ cssํ์ผ๋ก ๋ณํ => ์ํฌ์ ๋ชจ๋(1๋1๋ก ์ปดํ์ผ)
- "--update" - ๋ณ๊ฒฝ๋ ์ฌํญ๋ง ์ ๋ฐ์ดํธ
- "--update --watch" - ํ์ผ์ ๊ฐ์ํ์ฌ ๋ณ๊ฒฝ๋ ๋๋ง๋ค src/css/main.css ํ์ผ๋ก ์ปดํ์ผ
- "--update --watch ํด๋:ํด๋" - src/scss ๋๋ ํ ๋ฆฌ ๋ด์ ๋ชจ๋ SCSS ํ์ผ ์ปดํ์ผ
- "--update ํด๋:ํด๋" - src/scss ๋๋ ํ ๋ฆฌ ๋ด์ ๋ชจ๋ SCSS ํ์ผ ์ ๋ฐ์ดํธ
- "--update --watch ํด๋:ํด๋" - src/scss ๋๋ ํ ๋ฆฌ ๋ด์ ๋ชจ๋ SCSS ํ์ผ ๊ฐ์, ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋์๋๋ src/css ๋๋ ํ ๋ฆฌ์ ์ปดํ์ผ
- "--style compressed" - CSS๋ฅผ ์์ถ๋ ํํ๋ก ๋ง๋ฆ
- "--no-source-map" - ์์ค ๋งต์ ์์ฑํ์ง ์๊ณ ์ปดํ์ผ
- "clean" - src/css ๋๋ ํ ๋ฆฌ ์ญ์
์์ธํ ๋ช ๋ น์ด ํ์ธํ๊ธฐ => https://sass-lang.com/documentation/cli/dart-sass/
๐ด source-map
: ์น ๊ฐ๋ฐ์์ ์ฌ์ฉ๋๋ ํ์ผ ๋ณํ ๊ณผ์ ์์ ์๋ณธ ์์ค ์ฝ๋์ ๋ณํ๋ ์ฝ๋ ๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ๋งบ์ด์ฃผ๋ ํ์ผ
์ฃผ์ ๊ธฐ๋ฅ
- ๋๋ฒ๊น - ๋ณํ๋ ์ฝ๋์์ ์๋ณธ ์์ค ์ฝ๋์ ๋ผ์ธ ๋ฐ ์ปฌ๋ผ ์ ๋ณด ํ์ธ ๊ฐ๋ฅ
- ์๋ ์ต์ ํ - ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ณธ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ๋๋ฒ๊น ์งํ ๊ฐ๋ฅ
- ๋ณด์ - ์๋ณธ ์ฝ๋ ๋ ธ์ถ ์์ด ๋๋ฒ๊น ๊ฐ๋ฅ