๐ฃ ์ด๋ฒ ์๊ฐ์๋ !
์ง๋ ์๊ฐ์๋ ์นํฉ(Webpack)์ ๋ํด์ ์ดํด๋ดค๋ค. ์ง๋ ๊ฒ์๋ฌผ ์์๋๋ก ์ดํด๋ณด๋ฉด,
'๋ฒ๋ค๋ง · ๋ชจ๋ ๋ฒ๋ค๋ฌ > ์นํฉ(Webpack) > ๋ฐ๋ฒจ(Babel)'์ ์์๋๋ก ์ ๋ฆฌ๋ฅผ ํ๊ณ ์๋ค. ๋ค๋์์๋ฉด ๊น๋จน๋ ๋๋ฅผ ์ํด ํด๋น ๊ฐ๋
๋ค์ ์์์ ๋ฐ๋ผ ์ฒ์ฒํ ํจ๊ป ๋ฐ๋ผ ๊ฐ ์ ์์ผ๋ ์ธ์ ๋ ๋ค์ ๋ณด๊ธฐ!
๐ฃ ๋ฐ๋ฒจ(Babel)์ ๋ํด์ ์ดํด๋ณด์!
1. ๊ฐ๋
์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ
Babel์ ์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ๋ก, ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ตฌ ๋ฒ์ ์ผ๋ก ๋ณํํ์ฌ ํธํ์ฑ์ ํ๋ณดํ๋ ์ญํ . ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ธ๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ํ์ํ ์ด์ ๋? babel์ ์ ํํ ์ค๋ช
ํ๋ฉด JavaScrpt๋ก ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด์ฃผ๋ ์ปดํ์ผ๋ฌ์ด๊ธฐ ๋๋ฌธ.
๋ง์ฝ ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ง์ธ ์ธํฐํ๋ฆฌํฐ์ ๋ํด์ ์ ๋ชจ๋ฅธ๋ค๋ฉด, ์ด์ ์ ์ ๋ฆฌํ ๊ฒ์๋ฌผ ์ฐธ๊ณ ํ๊ธฐ!
JavaScript ์๋ฐ์คํฌ๋ฆฝํธ๋?
๐ค JavaScript ์๋ฐ์คํฌ๋ฆฝํธ!์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฒ์ ์ ํ๋ ๊ฒ์ด ์๊ทธ์ ๊ฐ์๋ฐ, ์ด๋ฐ ์ ๋ฐ ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ์ด๋์๊ฐ ์น์ํ ์น๊ตฌ๊ฐ ๋์ด๋ฒ๋ฆฐ ์ด ์น๊ตฌ์ ๋ํด์ ์ดํด๋ณด์. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด๋ค ์ธ์ด
haileyham.tistory.com
2. ์ฌ์ฉํ๋ ์ด์ ?
๋ฐ๋ฒจ์ ์ฌ์ฉํ๋ ์ด์ ๋ฅผ ๊ฐ๋จํ ์ค๋ช
ํ๋ฉด ์์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ์ ์ ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ตฌ ๋ฒ์ ์ผ๋ก ๋ณํํ์ฌ ํธํ์ฑ์ ํ๋ณดํ๋ ๊ฒ!
๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ต์ ๋ฌธ๋ฒ, ๊ธฐ์ (ES6) ์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ตฌ ๊ธฐ๋ฅ(ES5)์ผ๋ก ๋ณํํ๋ ์์
์ด ํ์
3. babel ์ ๊ทธ๋ผ ๋ฌด์์ ?
3-1. Transform syntax (๊ตฌ๋ฌธ ๋ณํ)
ํธ๋์คํ์ผ๋ง์ ์ต์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ค๋๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋๋ก ์ค๋๋ ๋ฌธ๋ฒ์ผ๋ก ๋ณํ
3-2. babel-polyfill์ ํตํด์ ํด๋ฆฌํ ๊ธฐ๋ฅ์ ์ง์
ํด๋ฆฌํ์ ์ค๋๋ ๋ธ๋ผ์ฐ์ ์ ๋ค์ดํฐ๋ธ๋ก ์ง์ํ์ง ์๋ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ๋ฉ์๋, ์์ฑ, API๊ฐ ์กด์ฌํ์ง ์์ ๋ ์ถ๊ฐ. ๋ฐ๋ฒจ์ ์ต์ ๋ฌธ๋ฒ์ ์ค๋๋ ๋ฌธ๋ฒ์ผ๋ก ๋ณํํด ์ฃผ๋ ํธ๋์คํ์ผ๋ฌ ์ญํ ๋ง ํ ๋ฟ ์ต์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฑด ์๋. ํด๋ฆฌํ์ ํ๋ก๊ทธ๋จ์ด ์ฒ์ ์์ํ ๋, ์ง์ํ์ง ์๋ ๊ธฐ๋ฅ๋ค์ ์ง์ํด. ๋ฐ๋ฒจ์ ์ปดํ์ผ ๋ ์คํ๋๊ณ ํด๋ฆฌํ์ ๋ฐํ์์ ์คํ
3-3. JSX and React
๋ฐ๋ฒจ์ JSX ๋ฌธ๋ฒ์ ๋ณํ
๋ค์์ ๋ฐ๋ฒจ๊ณผ ํด๋ฆฌํ์ ๋ํด์!
์ถ์ฒ :
https://bravenamme.github.io/2020/02/12/what-is-babel/
https://velog.io/@suyeon9456/Babel