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