Skip to content

Latest commit

ย 

History

History
33 lines (24 loc) ยท 1.69 KB

require-import.md

File metadata and controls

33 lines (24 loc) ยท 1.69 KB

๐Ÿ’ป require์™€ import


๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป require์™€ import

  • ๊ธฐ๋ณธ์ ์œผ๋กœ require์™€ import๋ฅผ ๋ชจ๋“ˆ ํ‚ค์›Œ๋“œ์ด๋‹ค. ์™ธ๋ถ€ ํŒŒ์ผ์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • require๋Š” Node.js์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” CommonJs ๋ชจ๋“ˆ ํ‚ค์›Œ๋“œ์ด๊ณ , import๋Š” ES6์—์„œ ์ƒˆ๋กœ ๋„์ž…๋œ ๋ชจ๋“ˆ ํ‚ค์›Œ๋“œ์ด๋‹ค.
  • ๋‘˜ ๋‹ค ๋‹ค๋ฅธ ํŒŒ์ผ์˜ ์ฝ”๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค๋Š” ๊ฐ™์€ ๋ชฉ์ ์„ ๊ฐ–๊ณ  ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.

๐Ÿƒ ๊ธฐ๋ณธ ์˜ˆ์ œ

  const library = require('library');
  
  import library from 'library';

๐Ÿƒ ์ฃผ์š” ์ฐจ์ด์ 

  • require๋Š” CommonJS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Node.js์˜ ํ‚ค์›Œ๋“œ์ด์ง€๋งŒ import()๋Š” ES6์—์„œ ๋„์ž…๋œ ํ‚ค์›Œ๋“œ์ด๋‹ค.
  • require๋Š” ํŒŒ์ผ์— ์ž‘์„ฑํ•œ ๊ณณ์— ๋‚จ์•„ ์žˆ์œผ๋ฉฐ import๋Š” ํ•ญ์ƒ ๋งจ ์œ„๋กœ ์ด๋™ํ•œ๋‹ค.
  • require๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด๋Š ์ง€์ •์—์„œ๋‚˜ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ import()๋Š” ํŒŒ์ผ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • require๊ณผ import๋Š” ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

๐Ÿƒ ์ •๋ฆฌ

  • ์ผ๋ฐ˜์ ์œผ๋กœ import๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ๋ชจ๋“ˆ ๋ถ€๋ถ„๋งŒ ์„ ํƒํ•˜๋„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์„ ํ˜ธ๋œ๋‹ค. ๋˜ํ•œ, require๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ตœ๊ทผ ES6 ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์ธ import๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์ง€๋งŒ ์•„์ง๊นŒ์ง€ import ํ‚ค์›Œ๋“œ๊ฐ€ 100% ๋Œ€์ฒด๋˜์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • <script> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ, Node.js์—์„œ๋„ ์•„์ง์€ CommonJS๋ฅผ ๊ธฐ๋ณธ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์œผ๋กœ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Babel๊ณผ ๊ฐ™์€ ES6 ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜(transpile)ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” require ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.