๊ฐœ๋ฐœ ๐Ÿพ/HTML,CSS

Live sass compiler ์‚ฌ์šฉํ•˜๊ธฐ

JOTOKKI 2021. 7. 6. 14:13
728x90

์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” node์—์„œ package.json์œผ๋กœ ์ˆ˜์ž‘์—…(?)์œผ๋กœ ์ž๋™ ์ปดํŒŒ์ผ๋˜๋Š” ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ–ˆ์—ˆ๋Š”๋ฐ, (๋ณด๋Ÿฌ๊ฐ€๊ธฐ)

์ด๋ฒˆ์—๋Š” vscode์—์„œ ์ œ๊ณต๋˜๋Š” Live Sass Compiler๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 

์„ค์น˜ํ•˜๊ธฐ

VSCode๋ฅผ ์—ด๊ณ  ํ™•์žฅํ”„๋กœ๊ทธ๋žจ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ณณ์—์„œ sass๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 

Live Sass Compiler Plugin 

install์„ ํด๋ฆญํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.  

๊ทธ๋ฆฌ๊ณ  ์šฐ์ธก ํ•˜๋‹จ์— Watch Sass๋ฅผ ํด๋ฆญํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ปดํŒŒ์ผ์ด ๋ฉ๋‹ˆ๋‹ค. 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ปดํŒŒ์ผ์ด ๋ฉ๋‹ˆ๋‹ค. 

์ž๋™ ์ปดํŒŒ์ผ ์‹คํ–‰


CSS๊ฒฝ๋กœ ์„ค์ •ํ•˜๊ธฐ

vscode setting ๋ž€์—์„œ scss์—์„œ css๋กœ ์ปดํŒŒ์ผ ์‹œ css๊ฐ€ ์ €์žฅ๋  ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์™ผ์ชฝ ํ•˜๋‹จ Manage ๋ฒ„ํŠผ์—์„œ Setting์„ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. 

sass๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ฐฉ๊ธˆ ์„ค์น˜ํ•œ Live Sass Complier๋ฅผ ์„ ํƒํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์„ธํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 

๊ทธ์ค‘Set your exported CSS styles, formats & save location. ( export ๋œ CSS ์Šคํƒ€์ผ๋“ค, ํฌ๋งท, ์ €์žฅ ๊ฒฝ๋กœ ์„ค์ • )

๋ž€์˜ Edit in settings.json์„ ํด๋ฆญํ•˜๋ฉด ์„ค์ • ํŒŒ์ผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

 

{
    ...
    "liveSassCompile.settings.formats": [
        
        {
            "format": "expanded",
            "extensionName": ".css",
            "savePath": "/dist/css" // ์ปดํŒŒ์ผ๋œ css ํŒŒ์ผ์ด ์ €์žฅ๋  ๊ฒฝ๋กœ
        }
    ],
    ...
}

 

 


MappingURL

CSS๋กœ ๋ณ€ํ™˜๋œ ํŒŒ์ผ์„ ๋ณด๋ฉด cssํŒŒ์ผ ์™ธ์— mapํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋˜ํ•œ cssํŒŒ์ผ ๋‚ด์— map ์ฃผ์†Œ๊ฐ€ ์ฃผ์„ ์ฒ˜๋ฆฌ๋˜์–ด ํ•˜๋‹จ์— ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. 

css.map๊ณผ sourceMappingURL

์ด๊ฒƒ๋“ค์˜ ์šฉ๋„๋Š” ๋ฐ”๋กœ ๋ณ€ํ™˜ ์ดํ›„์—๋„ Chrome๋ธŒ๋ผ์šฐ์ €์—์„œ ๋””๋ฒ„๊น… ์‹œ scss๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐ๊ฐ์˜ ์ •๋ณด๋ฅผ mapping ํ•ด์ฃผ๋Š” ์šฉ๋„์ž…๋‹ˆ๋‹ค. 

 

๋งŒ์•ฝ map ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ง€์šฐ๊ณ  ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ์—์„œ ํ™•์ธํ•œ๋‹ค๋ฉด, cssํŒŒ์ผ์„ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. 

mapping ์ •๋ณด ์—†์Œ

mapping ์ •๋ณด๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด css์™€ scss์˜ ๊ฐ ๋ผ์ธ์„ ๋งคํ•‘์‹œ์ผœ scss๋ฅผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.

mapping ์ •๋ณด ์žˆ์Œ

 

๋งŒ์•ฝ ํ”„๋กœ์ ํŠธ ์ „์ฒด๊ฐ€ SCSS๊ธฐ๋ฐ˜์ด๋ผ๋ฉด, mapping์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๊ฒ ์ง€๋งŒ, 

๊ฐ„ํ˜น ๋‹จ๋…์œผ๋กœ ์“ฐ์ด๊ณ  ๋‚ฉํ’ˆํ•˜๊ฑฐ๋‚˜ ๋ฐฐํฌ ์‹œ์—๋Š” ์ˆœ์ˆ˜ CSS๋งŒ ๋‚จ๊ฒจ์•ผ ํ•œ๋‹ค๋ฉด mapping ์ •๋ณด๊ฐ€ ํ•„์š” ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๊ทธ๋Ÿฐ ๊ฒฝ์šฐ setting์—์„œ mapping ์ •๋ณด๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

settingํ™”๋ฉด

Set it as 'false' if you don't want `.map`file for compolied CSS. ๋ผ๊ณ  ์ ํžŒ ๋ถ€๋ถ„์— Edit in setting.json์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. 

{
    ...
    "liveSassCompile.settings.generateMap": false, // true๋ฉด ์‚ฌ์šฉ, false๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ 
    "liveSassCompile.settings.formats": [
        ...
    ],
    ...
}

๊ธฐ์กด์— ์žˆ๋‹ค๋ฉด true๋ฅผ false๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ( ๋งŒ์•ฝ ์—†๋Š” ๊ฒฝ์šฐ ์ € ํ•œ ์ค„์„ ์ถ”๊ฐ€ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.  )

์ดํ›„ ๋งŒ๋“ค์–ด์ง„ scss์— ๋Œ€ํ•˜์—ฌ ๋” ์ด์ƒ mapping ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•