7. SASS Loader
Intro
SASS: css์์ฑ์ ๊ฐ๋ ์ฑ ๋์ ํํ๋ฒ ์ฌ์ฉ, ๋ค์ํ ๋ฌธ๋ฒ ์ ๊ณต(css ํ์ฅ๋ ํํ)
SASS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, SASSํ์ผ์ cssํ์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผํ๋ค.
SASS๋ฅผ ์ฌ์ฉํ๋ฉด, ์ค๋ณต๋๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ณ ์กฐ๊ธ๋ ๋ถ๋ช ํ๊ฒ css์ค๊ณ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ
SASSํ์ผ์ ๋ชจ๋๋ก ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ค์ต
์ค์ต
sass-loader, node-sass(nodeํ๊ฒฝ์์ sassํ์ผ์ ์ฝ์ด๋ค์ด๋ ์ญํ ) ์ค์น
loader chaining
css๋ฅผ SASS๋ก ์์ฑํ ๊ฒฝ์ฐ, build๋ ๊ฒฐ๊ณผ๋ฌผ์ SASSํ์ผ์ด ์๋, css๊ฒฐ๊ณผ๋ฌผ์ด์ด์ผ ํ๋ค.
๊ณผ์ : SASS๋ชจ๋์ ์ฝ๊ณ ํด์ => css ํ์ผ๋ก ์ปดํ์ผ => ์ปดํ์ผ๋ cssํ์ผ์ด css-loader์ ์ํด build ๊ฒฐ๊ณผ๋ฌผ์ ํฉ์ณ์ ์์ฑ
๋ฐ๋ผ์ SASS-loader๋ฅผ ๋จผ์ ์๋ => ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐ์์ css-loader ์๋
์ฆ, loader๋ฅผ ์ฝ์ด๋ค์ด๋ ์์๊ฐ ํ์ํ๋ฐ ์ด๋ฅผ chaining์ด๋ผ๊ณ ํ๋ค.
๊ทธ๋์ loader์ค์ ์ use key์ ๋ฐฐ์ด๋ก ์ค์ ์ ํ์๋๋ฐ, ์ด์๋ํ ์ฐ์ ์์๋ indexํฌ๊ธฐ๊ฐ ํด์๋ก ๋จผ์ ์ ์ฉ์ด ๋์์๋ค.
loader์ chaining๋ฐฉ์์ indexํฌ๊ธฐ๋ก ์ ์ฉํ๋ ๋ฐฉ์ ์ด์ธ์ ๋ฌธ์์ด๋ก ์ค์ ํ ์ ์๋ค.
์ฉ๋์ ๋ฐ๋ผ css ํ์ผ๋ค์ loader๋ค์ด ๋ค๋ฅด๊ฒ ์ ์ฉ๋๋๋ก
cssํ์ผ๋ค์ ๋ง๋ค๋ 2๊ฐ์ง ๋ชฉ์ ์ ๊ฐ์ง
global ๋ฒ์ css
local ๋ฒ์ css: ์: ํน์ component ๋ฒ์ ๋ด๋ถ์์๋ง ์๋
์ด๋ฆ์ ์ธ์ํด์ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ฅผ ํ ์์
์ ์ฉ์
Oneof ํ๋กํผํฐ์์ module์ด๋ผ๋ keyword์ ์ํด์ global๋ก ์ ์ฉํ ์ง, local๋ก ์ ์ฉํ ์ง ๊ฒฐ์
loader์ ์ฉ๋๋ ์์(index ํฐ ์): sass-loader => css-loader => MiniCssExtractPlugin.loader
css ํ์ผ์ด๋ฆ์ module์ด ์ ์ฉ๋์์ ๊ฒฝ์ฐ์๋ง option์ด ์ ์ฉ์ด๋์ css์ module์ ์ฝ์ ์ ์๋ค.
scss-structure : 7-1 Sass Architecture
scss๋ import ๋ก ํ์ผ์ ๊ฐ์ ธ์ฌ์์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๊ตฌ์กฐ
Last updated