๐Ÿง‘โ€๐Ÿ’ป VSCode์—์„œ SCSS ์„ค์ •ํ•˜๊ธฐ

J_m2nยท2024๋…„ 1์›” 25์ผ
0
post-custom-banner

๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๋Œ์•„๋‹ค๋‹ˆ๋‹ค๊ฐ€ Sass๋ผ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.


์ €๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” CSS๋งŒ ๊ณ„์† ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ๋ถˆํŽธํ•œ ์ ์ด ๊ฝค ์žˆ์—ˆ๋‹ค. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์—์„œ ์„ค์ •ํ•œ ๋ณ€์ˆ˜์˜ ์„ค์ •๊ฐ’์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์€๋ฐ CSS๋ฐ–์— ๋ชจ๋ฅด๋‹ˆ ๊ฝค ์–ด๋ ค์›€์ด ๋งŽ์•˜๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ์•Œ๊ฒŒ ๋œ SaSS(SCSS)์— ๋Œ€ํ•ด ํฌ์ŠคํŒ… ํ•ด๋ณด๋ ค ํ•œ๋‹ค.




SaSS(SCSS) ๋ž€?

  • ์ฝ”๋“œ์˜ ์žฌํ™œ์šฉ์„ฑ์„ ์˜ฌ๋ฆฌ๊ณ , ๊ฐ€๋…์„ฑ์„ ์˜ฌ๋ฆฌ๋Š” ๋“ฑ CSS์—์„œ ๋ณด์ด๋˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ , ๊ฐœ๋ฐœ์˜ ํšจ์œจ์„ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ CSS ์ „์ฒ˜๋ฆฌ๊ธฐ ์–ธ์–ด์ด๋‹ค.
  • CSS๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋˜ํ•œ ์žˆ๋Š” ํ™•์žฅํŒ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
    <์ถœ์ฒ˜: https://inpa.tistory.com/259 [Inpa Dev ๐Ÿ‘จโ€๐Ÿ’ป:ํ‹ฐ์Šคํ† ๋ฆฌ]>



VS Code์— SaSS ํ™•์žฅ ์ต์Šคํ…์…˜ ์„ค์น˜ํ•˜๊ธฐ


์ €๋Š” Node.js๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.(๋ฐฐ์šด ์ ์ด ์—†์–ด์„œ..)

1. ํ™•์žฅ:๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์—ด๊ณ  Live Compiler SaSS๋ฅผ ๊ฒ€์ƒ‰ํ•œ ๋’ค ์„ค์น˜

  1. Ctrl + Shift + P๋ฅผ ๋ˆŒ๋Ÿฌ Preferences: Open User Settings(JSON)์„ ์„ ํƒ

    ์ฒ˜์Œ์—” ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋น„์–ด์žˆ๋Š” ํŒŒ์ผ์ด๋‹ค.
"liveSassCompile.settings.generateMap": false, // ๋งŒ์ผ .map ํŒŒ์ผ ์ƒ์„ฑ์„ ๋„๊ณ  ์‹ถ๋‹ค๋ฉด
    "liveSassCompile.settings.formats": [
    {
        "format": "expanded",
        "extensionName": ".css",
        "savePath": "~/../css"
    }
    ],
    "liveServer.settings.donotShowInfoMsg": true

{ } ์•ˆ์— ์œ„ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
(savePath๋Š” ๋ณธ์ธ์ด ์›ํ•˜๋Š” ๊ฒฝ๋กœ๋กœ ๋ฐ”๊พธ์…”๋„ ๋ฉ๋‹ˆ๋‹ค~~)

  1. scss ํด๋”๋ฅผ ๋”ฐ๋กœ ์ƒ์„ฑํ•œ ํ›„ .scss ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

    ์ด๋Ÿฐ์‹์œผ๋กœ ๋Œ€์ถฉ ์•„๋ฌด๊ฑฐ๋‚˜ ์จ ๋†“์€ ๋‹ค์Œ์—

ํ™”๋ฉด ํ•˜๋‹จ์˜ Watch Sass๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฐฉ๊ธˆ ๋งŒ๋“  scssํŒŒ์ผ์ด cssํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋˜์–ด ๋‚ด๊ฐ€ ์„ค์ •ํ•œ ์ €์žฅ ๊ฒฝ๋กœ์— ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ .cssํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.



๋‚ด ํ”„๋กœ์ ํŠธ์— ๋ถ€ํŠธ์ŠคํŠธ๋žฉ SaSS ์ ์šฉํ•˜๊ธฐ

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์‚ฌ์ดํŠธ์—์„œ ์†Œ์ŠคํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํ›„, scss ํด๋” ์ „์ฒด๋ฅผ ๋‚ด ํ”„๋กœ์ ํŠธ๋กœ ์˜ฎ๊ธด๋‹ค.


๋ถ€ํŠธ์ŠคํŠธ๋žฉ scss ํด๋”์™€ ๋‚ด๊ฐ€ ์ปค์Šคํ…€ํ•  scss ํด๋”๋ฅผ ๊ตฌ๋ณ„ํ•ด์„œ ๋งŒ๋“ค๊ณ , ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  scss ํด๋”์— custom.scss ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

@import "๋ถ€ํŠธ์ŠคํŠธ๋žฉ scssํด๋” ๊ฒฝ๋กœ/scss/bootstrap";๋ฅผ ์ž‘์„ฑ ํ›„ Ctrl + S๋กœ ์ €์žฅํ•œ๋‹ค.
(์ฐพ์•„๋ณด๋‹ˆ scss ํด๋” ์•ˆ์— bootstrap.scssํŒŒ์ผ์ด ์žˆ๋‹ค. ๊ทธ๊ฑธ import ํ•˜๋Š” ๋“ฏ)


๊ทธ ํ›„, Watch SaSS ํ•˜๋ฉด custom.css๋กœ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.
(Watch SaSS๋Š” ๊ผญ SCSS ํŒŒ์ผ์„ ์ €์žฅํ•œ ํ›„ ๋ˆ„๋ฅด๊ธฐ!!)


SCSS์— ์ต์ˆ™ํ•ด์ง€๊ธฐ๋งŒ ํ•˜๋ฉด ๊ต‰์žฅํžˆ ํŽธํ•  ๋“ฏ ํ•˜๋‹ค.
๋‚ด์ผ์€ SCSS ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค.
profile
์ฝ”๋”ฉ ์ดˆ์งœ์ž…๋‹ˆ๋‹ค
post-custom-banner

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