8. Post CSS
Intro
css๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๋๊ตฌ
js ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํด์, css๋ฅผ ๋ชฉ์ ์ ๋ง๊ฒ ๋ณํ์์ผ์ค๋ค.
์ํ๋ ๋ชฉ์ ์ ๋ง๋ ํ๋ฌ๊ทธ์ธ์ ์ฐพ๊ณ , Post css๋ฅผ ์ ์ฉ์ํจ๋ค.
๊ธฐ๋ฅ ์
auto-prefixer์ ๊ณต
cssdb: cssํ์ฅ ์ฌ์ฉ
css ๋ชจ๋์ฌ์ฉํ๋ ๊ฒ(์ด๋ฆ์ด ๊ฒน์น์ง ์๋๋ก hash๋ถ์ฌ์ฃผ๋ ๊ธฐ๋ฅ๊ณผ ์ ์ฌ)
css๋ก error ํผํ๊ธฐ: styleint๋ฅผ ํตํด ์์ฑํ css์ฝ๋์ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ํ์์ ๋ง์ง ์๋ ํํ์ด ์์๊ฒฝ์ฐ ์๋ ค์ค.
grid์์คํ ์ calcํจ์๋ฅผ ํตํด ์ฌ์ฉํ ์ ์๋๋ก ํจ.
์ ๊ธฐ๋ฅ๋ค ์ค, auto-prefixer, stylelint๋ฅผ ์ ์ฉํด๋ณด์!
auto prefixer
prefixer: ์ ๋์ฌ
vendor-prefixer:
๊ฐ ์น๋ธ๋ผ์ฐ์ ์ฌ ๋ณ๋ก ์คํ์ ๋ํ ๊ฐ๋ฐ์ ์งํํจ.
ํ์ค์ด ๋๊ธฐ ์ด์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์๋ณ๋ก ์๋ก์ด ์คํ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ ๋ ์ด์ ๋ฒ์ ์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ทธ ์ฌ์ค์ ์๋ฆฌ๊ธฐ์ํ ์ ๋์ฌ
vendor-prefixer๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ, ์ต์ ์ ์ ๊ณต๋๋ ๊ธฐ๋ฅ๋ค๋, ํ์๋ธ๋ผ์ฐ์ ์์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
์ฝ๋ฉ์ ํ๋ฉด์ ๊ณ์ prefixer๋ฅผ ๋ถ์ฌ์ค๋ค๋ฉด ๊ต์ฅํ ๋ฒ๊ฑฐ๋ก์ด ์ผ์ด๋ค.
Post CSS์ auto-prefixer๋ฅผ ์ค์ ํด์ ํด๊ฒฐํด๋ณด์!
์ค์ต ์์
postcss, autoprefixer, postcss-loader ์ค์น
postcss.config.js ํ์ผ ์์ฑํ ์ค์
์ด๋ค ํ๋ฌ๊ทธ์ธ์ ์ ์ฉ์ํฌ์ง ํ์ผ(๋ชจ๋)๋ก ๋ณ๋๋ก ๋นผ์ ์ ์.
webpack.common.jsํ์ผ ์์
๊ฐ๋ฐ๋ชจ๋, ๋ฐฐํฌ๋ชจ๋ ๋ชจ๋ ์ฐ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์ค์
postcss loader ์๋ณ์์ ํ ๋น
css๊ฐ ์ ์ฉ๋๋ ์์(๋จผ์ ์ ์ฉ์์ผ์ผํ๋๊ฒ ๋งจ ์๋๋ก ๊ฐ์ผํ๋ค!!!)
'sass-loader': SASS => CSS๋ก ๋ณํ
'postcssLoader': ๋ค๋ฅธ js ํ๋ฌ๊ทธ์ธ์ css์ ๋ชฉ์ ์ ๋ง๊ฒ ๋ณํ(autoprefix)
'css-loader: cssํ์ผ์ ๋ชจ๋๋ก์จ ๋ค๋ฃฐ ์ ์๋๋ก ๋ณํ.(import, require์ด ๊ฐ๋ฅํ๋๋ก ํจ)
MiniCssExtractPlugin.loader: style tag ๋์ css ํ์ผ๋ก ๋ง๋ค๊ธฐ
๊ฒฐ๊ณผํ์ธ
css์ ์ ๋์ฌ๊ฐ ๋ถ์ด์๋์ง ํ์ธํ ๊ฒ
๊ฐ๋ฐ์ ๋๊ตฌ - Network ํญ - css - ํ์ผ ํด๋ฆญ ํ - Previewํญ์์ ํ์ธ
webkit์ด ๋ถ์ด์๋๊ฑธ ํ์ธํ ์ ์๋ค~
๋จ, ๋ธ๋ผ์ฐ์ ์ ์ฉ๋ฒ์๋ฅผ ์ค์ ์ ํด์ผ ๋ฒค๋์ฌ๋ณ ์ ๋์ฌ๊ฐ ๋ถ์ ์ ์์. => Blowsers List(๋ค์์ฑํฐ)
Last updated