์ƒˆ์†Œ์‹

FrontEnd/JavaScript

๋ฐ”๋ฒจ(Babel)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž!

  • -

๐Ÿฃ ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” !


์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” ์›นํŒฉ(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

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.