[FE - ConnecTo] DAY39 TIL๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

JUNYยท2022๋…„ 9์›” 2์ผ
0

๐Ÿ“šZeroBase ConnecTo Front-End

๋ชฉ๋ก ๋ณด๊ธฐ
28/53
post-thumbnail

22.09.02 ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋ฉฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š
ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŠ

์—๋Ÿฌ ์ฒ˜๋ฆฌ

์—๋Ÿฌ ์ฒ˜๋ฆฌํ•  ๋•Œ ์˜ˆ์™ธ์  ์ƒํ™ฉ์ด๋ž€, ๋‚ด๊ฐ€ ๊ธฐ๋Œ€ํ•œ ๋Œ€๋กœ ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ.

๋Œ€๋ถ€๋ถ„์˜ ์—๋Ÿฌ๋Š” ์žฌํ• ๋‹น ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋•Œ ์—๋Ÿฌ๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋ฌธ๋ฒ•์ ์ธ ๋ถ€๋ถ„์„ ์ง€ํ‚ค์ง€ ์•Š๊ฑฐ๋‚˜, ํƒ€์ž…์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•จ.

๋Œ€๋ถ€๋ถ„์˜ ์—๋Ÿฌ๋Š” ํƒ€์ž… ์—๋Ÿฌ๋ฅผ ์ผ์œผํ‚ค๋Š”๋ฐ, ESLint ์‚ฌ์šฉ์„ ํ•˜๋ฉด ๋ฌธ๋ฒ• ์—๋Ÿฌ๋Š” ๋ฐœ๊ฒฌํ•˜๊ธฐ ํž˜๋“ฌ!

๋งŒ์•ฝ ์ธ์ˆ˜์˜ ํƒ€์ž…์ด ์˜ˆ์ƒํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ๋ฐ”๋กœ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ.

์—๋Ÿฌ ๋˜ํ•œ๋„ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•˜๋ฏ€๋กœ, ์—๋Ÿฌ๋ฅผ ์ „ํŒŒ์‹œ์ผœ์„œ ์œ„์—์„œ(์ „์—ญ์—์„œ) ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋น„๋™๊ธฐ ํ•จ์ˆ˜ ์‚ฌ์šฉ์‹œ ์—๋Ÿฌ ์ „ํŒŒ๊ฐ€ ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ฅผ await๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ.

์—๋Ÿฌ๋Š” ํ˜ธ์ถœ์ž ๋ฐฉํ–ฅ์œผ๋กœ ์ „ํŒŒ๋˜๋Š”๋ฐ, ์ด ๋•Œ ํ˜ธ์ถœ์ž๋Š” caller๋ผ๊ณ  ๋ถˆ๋ฉฐ, ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ง์ „์— ์ฝœ ์Šคํƒ์— ํ‘ธ์‹œ๋œ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์ž„. ํ•˜์ง€๋งŒ, ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ์ž๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ์†Œ์‹ค๋˜๋ฏ€๋กœ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜๊ฐ€ ์—†์Œ. ๊ทธ๋ž˜์„œ ๋น„๋™๊ธฐ ํ•จ์ˆ˜์˜ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋Š” await์™€ try-catch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ.

์—๋Ÿฌ ๊ฐ์ฒด๋Š” ์ตœ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์€ ๋ฉ”์„ธ์ง€๋ฅผ ์ „๋‹ฌํ• ์ˆ˜๋ก ์ข‹์Œ. ์—๋Ÿฌ์˜ ๊ถ๊ทน์ ์ธ ๋ชฉ์ ์ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์˜ค๋ฅ˜๋ฅผ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž„. ๊ทธ๋ž˜์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ•์ œ ์ข…๋ฃŒ ์‹œํ‚ค์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋ถ€์ฐจ์ ์ธ ๋ชฉ์ ์ž„.


๋ชจ๋“ˆ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ณธ๋ž˜ ๋ชฉ์ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ด ์•„๋‹ˆ์–ด์„œ, ES5๊นŒ์ง€ ๋ชจ๋“ˆ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์ง€ ์•Š์•˜์Œ.

๋ชจ๋“ˆ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š”๋ฐ, ๋งŒ์•ฝ ๋งŒ๋“œ๋ ค๋ฉด, ํ•œ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”๋ฐ, ์†”์งํ•˜๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•จ. ๊ทธ๋ž˜์„œ ํŒŒ์ผ์„ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ชจ๋“ˆ์ž„.

ํŒŒ์ผ์„ ์ชผ๊ฐœ๋Š” ๊ธฐ์ค€

  1. ๊ธฐ๋Šฅ๋ณ„๋กœ
  2. ํ™”๋ฉด๋ณ„๋กœ

๋ชจ๋“ˆ์ด ์—†์—ˆ์„ ๋•Œ๋Š” ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•ด๋„ ์ „์—ญ์„ ๊ณต์œ ํ•˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋ณ€์ˆ˜๋ผ๋ฆฌ ์„œ๋กœ ์ถฉ๋Œํ•˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•จ. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜๋กœ ๊ฐ์‹ธ์คฌ๋Š”๋ฐ, ๋” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ๋ชจ๋“ˆ์ž„.

  • export ๋ช…๋ น์–ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ๋„ ํŠน์ • ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๋Š” ๋ช…๋ น์–ด
  • import ๋ช…๋ น์–ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ exportํ•œ ์‹๋ณ„์ž๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๋Š” ๋ช…๋ น์–ด

๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •๋ณด ์€๋‹‰์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ๋ชจ๋“ˆ ์•ˆ์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ private ํ•„๋“œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋™์ž‘ํ•จ.

  • export์˜ ์ข…๋ฅ˜
    1. default : ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๋ฉฐ, ํ•˜๋‚˜๋งŒ ๋‚ด๋ณด๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•จ.

    2. named : ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ.

      export๋Š” ์ ์œผ๋ฉด ์ ์„์ˆ˜๋ก ์ข‹์ง€๋งŒ, ํ•œ 20๊ฐœ ์ •๋„๊นŒ์ง€๋Š” ๊ดœ์ฐฎ์Œ..!


Babel

๋ฐ”๋ฒจ์€ ์ตœ์‹  ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์€๋ฐ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•จ.

ES6+๋Š” ES6 ์ด์ƒ์˜ ๋ฌธ๋ฒ•์„ ์˜๋ฏธํ•˜๊ณ , ES.NEXT๋Š” ํ˜„์žฌ ์ œ์•ˆ ๋‹จ๊ณ„์— ์žˆ๋Š” ๋ฌธ๋ฒ•์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ฌธ๋ฒ•๋“ค์„ ํŠธ๋žœ์ŠคํŒŒ์ผ๋ง(ES5 ์ดํ•˜์˜ ์‚ฌ์–‘์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ) ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด Babel์ž„.

ํ•˜์ง€๋งŒ, promise ์ฒ˜๋Ÿผ ES5 ์ดํ•˜์—์„œ ๋Œ€์ฒดํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ๋ฒ•๋“ค์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” polyfill์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.


Webpack

ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋“ค์„ ๋ฒˆ๋“ค๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•จ.

๋นจ๋ฆฌ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•™์Šตํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ.

document ๋ฌธ์„œ ์ž˜ ์ฝ์–ด๋ณด๊ธฐ!

profile
์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๐ŸŒผ

0๊ฐœ์˜ ๋Œ“๊ธ€