Import-exports.md


javascriptμ—μ„œλŠ” 파일의 λͺ¨λ“ˆν™”λ₯Ό μœ„ν•΄ import, export κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€.

Commonjs

const module1 = require('[λͺ¨λ“ˆμ΄λ¦„ / ν˜„μž¬μœ„μΉ˜μ—μ„œμ˜ 파일 μƒλŒ€κ²½λ‘œ]')

module.exports = [내보낼 파일]

ES6

import

import name form "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1, member2 } from "module-name";
import { member1, member2 as alias2, [...] } from "module-name";
import defaultMember, { member [, [...]] } from "module-name";
import defaultMember, * as alias from "module-name";
import defaultMember from "module-name";
import "module-name";

exports

export { name1, name2, ..., nameN };
export { variable1 as name1, variable2 as name2, ..., nameN };
export let name1, name2, ..., nameN; // λ˜λŠ” var
export let name1 = ..., name2 = ..., ..., nameN; // λ˜λŠ” var, const
export expression; export dafault expression;
export default function (...) { ... } // λ˜λŠ” class, function*
export default function name1(...) { ... } // λ˜λŠ” class, function*
export { name1 as default, ... };
export * from ...;
export { name1, name2, ..., nameN } from ...;
export { import1 as name1, import2 as name2, ..., nameN } from ...;
  • Named exports

export { myFunction };
export const foo = Math.sqrt(2);

Named exportsλŠ” μ—¬λŸ¬κ°’μ„ export ν•˜λŠ”λ° μœ μš©ν•©λ‹ˆλ‹€. export 된 이름을 μ‚¬μš©ν•˜μ—¬ import ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • Default exports

export default myFunctionOrClass; // μ—¬κΈ°μ—λŠ” μ„Έλ―Έμ½œλ‘ μ΄ μ—†μŠ΅λ‹ˆλ‹€.

λͺ¨λ“ˆ λ‹Ή λ”± ν•œ 개의 default export만 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. default export둜 객체, ν•¨μˆ˜ 클래슀 등이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€μž₯ κ°„λ‹¨ν•˜κ²Œ export ν•  수 있으며, λ”± ν•œκ°œλ§Œ default exportλ₯Ό ν•  수 있기 λ•Œλ¬Έμ—, "메인" 이라고 ν•  수 μžˆλŠ” 것을 default export ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

Last updated