ํฐ์คํ ๋ฆฌ ๋ทฐ
[Parcel] ๋ฒค๋ ํ๋ฆฌํฝ์ค(Vendor Prefix)๋ฅผ ์๋์ผ๋ก! Autoprefixer
yunieyunie 2022. 11. 11. 15:43๐ ๋ฒค๋ ํ๋ฆฌํฝ์ค(Vendor Prefix)
์น ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์ด๋ค ํ๊ทธ์ styles์ display: webkit-box ๋๋ display: ms-flexbox๋ฑ์ด ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ ๋ฒค๋ ํ๋ฆฌํฝ์ค(vendor prefix)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ฒค๋ ํ๋ฆฌํฝ์ค๋, ์ต์คํ๋ก๋ฌ, ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์คํ๋ผ ๋ฑ์ ์น ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์๊ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ ๋ ์ด์ ๋ฒ์ ์ ์น ๋ธ๋ผ์ฐ์ ์ ์ด๋ฅผ ์๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ ๋์ฌ(prefix) ์ด๋ค.
CSS ๊ถ๊ณ ์์ ํฌํจ ์๋ ๊ธฐ๋ฅ์ด๋ CSS ๊ถ๊ณ ์์๋ ํฌํจ๋์ด ์์ง๋ง ์๋ฒฝํ๊ฒ ์ ์ ๋ ์ํ๊ฐ ์๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ๋ฒค๋ ํ๋ฆฌํฝ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
๋ง์ฝ ํ์ค ๊ธฐ์ ์ด ๋์ํ ์ ์๋ค๋ฉด ํด๋น ์ ๋์ฌ๊ฐ ๋ถ์ด ์๋ style์ด ์ ์ฉ๋๋ ๊ฒ์ด๋ค.
์ฃผ์ ์น ๋ธ๋ผ์ฐ์ ๋ค์ ๋ฒค๋ ํ๋ฆฌํฝ์ค๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ie : -ms-
- chrome, safari : -webkit-
- firefox : -moz-
- opera : -o-
๐ป Autoprefixer ์ค์น
์ด๋ฌํ ๋ฒค๋ ํ๋ฆฌํฝ์ค๋ฅผ ๊ฐ๊ฐ์ ์์ฑ์ ๋ชจ๋ ์ธ์์ ์ฌ์ฉํ ์๋ ์๋ค.
๋ฐ๋ผ์ ์๋์ผ๋ก ๋ถ์ฌ์ฃผ๋ ํจํค์ง Autoprefixer ๋ฅผ ์ค์นํ์.
1. ํฐ๋ฏธ๋์ npm i -D postcss autoprefixer ์ ๋ ฅ
2. package.jsonํ์ผ์ ๋ค์ ๋ถ๋ถ์ ์ถ๊ฐ
"browserslist": [
"> 1%".
"last 2 versions"
]
์ด๋ ์ ์ธ๊ณ ์ ์ ์จ์ด 1% ์ด์์ธ ๋ธ๋ผ์ฐ์ ์ ๋ง์ง๋ง ๋ ๊ฐ์ ๋ฒ์ ๊น์ง๋ ์ง์ํ๋ค ๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค.
3. ๋ฃจํธ ๊ฒฝ๋ก์ .postcssrc.js ํ์ผ ์์ฑ ๋ฐ ๋ค์์ ์ ๋ ฅ ํ ์ ์ฅ
module.exports = {
plugins: [
require('autoprefixer')
]
}
node.js์์๋ ESM์ด ์๋ CommonJS๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ import ๋์ ์ require, export ๋์ ์ module.exports๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
4. ํฐ๋ฏธ๋์์ npm run dev ์ ๋ ฅ
์ฌ๊ธฐ์ ์๋ฌ๊ฐ ๋๋ค๋ฉด package.json์์ postcss์ ๋ฒ์ ๊ณผ autoprefixer์ ๋ฒ์ ์ด ์ถฉ๋๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ ํฐ๋ฏธ๋์์ npm i -D autoprefixer@9 ๋ฅผ ์
๋ ฅํด autoprefixer๋ฅผ 9๋ฒ์ ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ ์ค์นํ๋ฉด ํด๊ฒฐ๋๋ค.
์ฌ๊ธฐ๊น์ง ํ๋๋ฐ๋ autoprefixer๊ฐ ์ ์ฉ๋์ง ์๋๋ค๋ฉด package.jsonํ์ผ์ ๋ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ ์ฅํ์.
"postcss": {
"plugins": {
"autoprefixer": {}
}
}
'Bundler > Parcel' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Parcel์ ์ปค๋งจ๋ ๋ผ์ธ ์ธํฐํ์ด์ค(CLI) ๐จ (0) | 2022.11.29 |
---|---|
[Parcel] Babel ์ค์นํ๊ณ ์ ์ฉํ๊ธฐ ๐จ (0) | 2022.11.29 |
Parcel๋ก ๊ฐ๋ฐ ์๋ฒ ์ด๊ณ ์ ์ ํ์ผ ์ฐ๊ฒฐํ๊ธฐ ๐ (0) | 2022.11.11 |