๐ Babel์ด๋?
๋ฐ๋ฒจ(Babel)์ด๋, ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์ธ ์ปดํ์ผ๋ฌ์ ๋๋ค. ๋ฐ๋ฒจ์ ์ต์ ๋ฒ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋์ง ์๋ ๊ตฌ ๋ฒ์ ์ ๋ธ๋ผ์ฐ์ ์์๋ ์ ์์ ์ผ๋ก ์คํ๋๋๋ก ๋ณํํด์ค๋๋ค. (์ต์ ๋ฒ์ ์ JavaScript ์ฝ๋๋ฅผ ES5๋ฒ์ ์ ์ฝ๋๋ก ๋ฐ๊ฟ์ฃผ๋ Node.jsํจํค์ง) ํ์ฌ๋ ๋ฐ๋ฒจ์ ์ด์ฉํ์ฌ JSX ๋ฌธ๋ฒ, ํ์ ์คํฌ๋ฆฝํธ(TypeScript)์ ๊ฐ์ ์ ์ ํ์ ์ ์ธ์ด์ ์ฝ๋ ์์ถ ๋ฑ์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
babel์ ์ฐ๋ ์ด์
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง
- JavaScript (ES6) -> JavaScript(ES5)๋ก ๋ณํํด์ค๋๋ค. (๋ธ๋ผ์ฐ์ ํ์ ํธํ์ฑ์ ์๊ฐ)
- ๊ฐ ๋ธ๋ผ์ฐ์ ๋ง๋ค JavaScript ์์ง์ด ๋ค๋ฅด์ง๋ง, ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋๋ก ํธํ์ฑ์ ์ง์ผ์ค๋๋ค.
- ํด๋ฆฌํ(polyfill)
- ํด๋ฆฌํ์ ๊ฐ๋ฐ์๊ฐ ํน์ ๊ธฐ๋ฅ์ด ์ง์๋์ง ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ์ฌ์ฉํ ์ ์๋ ์ฝ๋ ์กฐ๊ฐ์ด๋ ํ๋ฌ๊ทธ์ธ์ ์๋ฏธํฉ๋๋ค.
- ํด๋ฆฌํ์ ํ๋ก๊ทธ๋จ์ด ์ฒ์์ ์์๋ ๋ ํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ์ง์ํ์ง ์๋ ํจ์๋ฅผ ๊ฒ์ฌํด์ ๊ฐ object์ prototype์ ๋ถ์ฌ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
๐ Webpack์ด๋?
Webpack์ ๋ชจ๋ ๋ฒ๋ค๋ฌ์ ๋๋ค. ๋ชจ๋ ๋ฒ๋ค๋ฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ์์(HTML, CSS, JavaScript, Image ๋ฑ)์ ๊ฐ๊ฐ์ ๋ชจ๋๋ก ๋ณด๊ณ ์ด๋ฅผ ์กฐํฉํด์ ํ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋๋ ๋๊ตฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
Webpack์ ์ฐ๋ ์ด์
- ๋ชจ๋๊ฐ ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐ
- ์นํฉ์ด ๋ชจ๋๊ฐ์ ์์กด์ฑ์ ๊ณ์ฐํ์ฌ ๋ฒ๋ค๋งํด์ค๋๋ค.
- ๋คํธ์ํฌ ๋ณ๋ชฉ์ ์ค์ฌ์ค
- <script> ํ๊ทธ๋ฅผ ์ฌ๋ฌ๊ฐ ์ฐ๋ฉด ๋คํธ์ํฌ ๋ณ๋ชฉํ์์ด ์๊ธธ ์ ์์ต๋๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋์ jsํ์ผ๋ก ๋ก๋ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ์ฝ๋๋ฅผ ํ๋์ jsํ์ผ์ ์์ฑํ๋ฉด ๊ฐ๋ ์ฑ์ด๋ ์ ์ญ๊ณต๊ฐ์ ์ค์ผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ฏ๋ก ์นํฉ์ ์จ์ ์ฌ๋ฌ๊ฐ์ ํ์ผ์ ํ๋๋ก ๋ฌถ์ด์ฃผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
- ๋ชจ๋๋จ์์ ๊ฐ๋ฐ ๊ฐ๋ฅ
- ๊ฐ๋ ์ฑ, ์ ์ง๋ณด์ ํจ์จ์ ๋์ ๋๋ค. ์ค์ฝํ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ข ์ ๋ฌธ์ ๋ฅผ ๊ณ ๋ฏผํ ํ์๊ฐ ์์ต๋๋ค. (์นํฉ์ด ๊ณ์ฐ)
- ์ฝ๋ ์์ถ, ์ต์ ํ
- es6+ ์คํฌ๋ฆฝํธ ์ง์
- ๋ฐ๋ฒจ๋ก๋๋ก ๋ฐ๋ฒจ ์ฌ์ฉ
์ฐธ๊ณ
(ํ๋ก ํธ์๋์ ์ฒซ๊ฑธ์) ๋ฐ๋ฒจ(Babel) ์ด๋?
๋ฐ๋ฒจ (Babel) ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ๊ณต๋ถํ๋ฉด์ ๋ง์ด ๋ค์๋ ๋จ์ด๊ฐ ๋ฐ๋ก ๋ฐ๋ฒจ(Babel) ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ฒจ์ ๋ฌด์์ผ๊น? ๋ฐ๋ฒจ(Babel)์ด๋, ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ์ฝ๋์ธ ์ปดํ
rypro.tistory.com
[Node.js] Babel (๋ฐ๋ฒจ) ์ด๋? / ์ฌ์ฉ๋ฒ
babel ์ด๋? ์ต์ ES6, ES7 ๋ฒ์ ์ javascript์ฝ๋๋ฅผ, ES5๋ฒ์ ์ ์ฝ๋๋ก ๋ฐ๊พธ์ด์ฃผ๋ Node.js ํจํค์ง babel์ ํ์์ฑ / ์ฐ๋ ๊ณณ ์์ฃผ๋ณํ๋ javascript ์ต์ ์ฝ๋๋ฅผ ์ดํดํ์ง ๋ชปํ๋ ์น ๋ธ๋ผ์ฐ์ ์์๋ ํ์ด์ง์
defineall.tistory.com
ํ๋ก ํธ์๋ ํ์ Webpack์ด๋?
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ๊ผญ ์์์ผ ํ๋ ๊ธฐ์ ์ค ํ๋๋ผ๊ณ ์๊ฐํ๋ค.Webpack = ๋ชจ๋ ๋ฒ๋ค๋ง์ด๋ผ๊ณ ํ๋ค.html ํ์ผ์ ๋ค์ด๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ๋ค์ ํ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๋ฐฉ์
velog.io
์นํฉ ๋ฐ๋ฒจ ์์ฝ
github.com/doonguk/webpack-boilerplate doonguk/webpack-boilerplate Webpack, Babel ๋ฅผ ์ด์ฉํ ํ๋ก ํธ์๋ ๊ฐ๋ฐํ๊ฒฝ ์ ํ . Contribute to doonguk/webpack-boilerplate development by creating an account on..
coding0.tistory.com
TypeScript + Webpack + Babel ์ ์ฌ์ฉํ๋ ์ด์
ํ๋ฐํธ์๋ ๊ฐ๋ฐ์ ํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ฐ๋ผ์ค๋ ๊ฒ๋ค์ด ์๋ค. TypeScript, Webpack, Babel ์ด์ ํ๋ก๊ทธ๋๋จธ์ค ๊ต์ก์ ๋ฐ์ผ๋ฉฐ ์ฌ์ฉํ๋ ๊ฒ๋ค์ด๋ค. (์ด๊ฒ ๋ง๊ณ ๋ ๋ง๊ฒ ์ง๋ง...) ๊ทธ๋ฐ ๋๋์ด ์๋ค ๊ฐ๋ฐ์ ํ๋ค
codermun-log.tistory.com
'Studying Web Development > Front-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Reflow์ Repaint๊ฐ ์คํ๋๋ ์์ (0) | 2022.07.30 |
---|---|
[React] ํด๋์คํ ์ปดํฌ๋ํธ์ ํจ์ํ ์ปดํฌ๋ํธ์ ์ฐจ์ด์ (0) | 2022.07.21 |
์น ํ์ค, ์น ์ ๊ทผ์ฑ์ด๋? (์น ํ์ค, ์น ์ ๊ทผ์ฑ์ด ์ค์ํ ์ด์ ) (0) | 2022.06.29 |
React์ ์๋ช ์ฃผ๊ธฐ(๋ผ์ดํ ์ฌ์ดํด) (0) | 2022.06.20 |
๋๊ธ