🧩 μžλ°”μŠ€ν¬λ¦½νŠΈ λͺ¨λ“ˆ μ‹œμŠ€ν…œ 정리

μ–Έμ§€Β·2025λ…„ 4μ›” 7일

πŸ“Œ λͺ¨λ“ˆμ΄λž€?

λͺ¨λ“ˆ(Module)은 ν•˜λ‚˜μ˜ 큰 ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•˜λŠ” λ…λ¦½λœ 파일 λ‹¨μœ„μž…λ‹ˆλ‹€.
μ—¬λŸ¬ 파일둜 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λΆ„λ¦¬ν•˜κ³ , 각각의 νŒŒμΌμ„ λͺ¨λ“ˆμ΄λΌ λΆ€λ¦…λ‹ˆλ‹€.

  • μ½”λ“œ μž¬μ‚¬μš©μ„ 높이고
  • μœ μ§€λ³΄μˆ˜λ₯Ό μ‰½κ²Œ ν•˜λ©°
  • μ „μ—­ μŠ€μ½”ν”„ μ˜€μ—Όμ„ λ°©μ§€ν•©λ‹ˆλ‹€.

βœ… λͺ¨λ“ˆ μ‚¬μš©ν•˜λŠ” 방법

배열에 λ‹€μ–‘ν•œ 동물 이름을 λ‹΄κ³ , 각 동물에 λ§žλŠ” μšΈμŒμ†Œλ¦¬λ₯Ό 좜λ ₯ν•˜λŠ” 예제λ₯Ό 톡해 μ•Œμ•„λ³Όκ²Œμš”.


1. πŸ“€ λͺ¨λ“ˆ 내보내기 (export)

example1.mjs

// κ°•μ•„μ§€ μšΈμŒμ†Œλ¦¬
export const dog = () => {
  return "bow-wow";
};

example2.mjs

// 고양이 μšΈμŒμ†Œλ¦¬
export const cat = () => {
  return "meow";
};

2. πŸ“₯ λͺ¨λ“ˆ κ°€μ Έμ˜€κΈ° (import)

import { dog } from "./example1.mjs";
import { cat } from "./example2.mjs";

3. πŸ›‘οΈ λͺ¨λ“ˆ μ‹œμŠ€ν…œμ˜ μž₯점

β€’ 내보내지 μ•Šμ€ λ³€μˆ˜/ν•¨μˆ˜λŠ” μ™ΈλΆ€μ—μ„œ μ ‘κ·Ό λΆˆκ°€
β€’ μΊ‘μŠν™”λ₯Ό 톡해 μ™ΈλΆ€λ‘œλΆ€ν„° μžμ› 보호
β€’ μ½”λ“œ 좩돌 λ°©μ§€

4. πŸ’» 전체 예제 μ½”λ“œ

import { dog } from "./example1.mjs";
import { cat } from "./example2.mjs";

const animals = ["dog", "cat", "rabbit", "cow", "bird"];

animals.forEach((animal) => {
  if (animal === "dog") {
    console.log(`${animal} is `, dog());
  } else if (animal === "cat") {
    console.log(`${animal} is `, cat());
  } else {
    console.log(`${animal} is search plz`);
  }
});

πŸ–¨οΈ 좜λ ₯ κ²°κ³Ό


✚ μΆ”κ°€ λ‚΄μš©

πŸ“„ .mjs ν™•μž₯μžλž€?

.mjsλŠ” "module JavaScript"의 μ€„μž„λ§λ‘œ,
ES6 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜κ³  μžˆλ‹€λŠ” 것을 λͺ…μ‹œν•˜λŠ” 파일 ν™•μž₯μžμž…λ‹ˆλ‹€.

βœ… μ‚¬μš© 이유

  • λΈŒλΌμš°μ € λ˜λŠ” Node.jsμ—μ„œ ν•΄λ‹Ή 파일이 λͺ¨λ“ˆ ν˜•μ‹μ΄λΌλŠ” κ±Έ λͺ…ν™•νžˆ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • 특히 Node.jsμ—μ„œλŠ” .js ν™•μž₯μžλ§ŒμœΌλ‘œλŠ” λͺ¨λ“ˆμΈμ§€ μŠ€ν¬λ¦½νŠΈμΈμ§€ ꡬ뢄이 μ–΄λ €μ›Œ .mjsλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

βœ… μ˜ˆμ‹œ

node example.mjs

.html 없이도 ν„°λ―Έλ„μ—μ„œ 직접 싀행이 κ°€λŠ₯ν•˜λ©° λͺ¨λ“ˆμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

0개의 λŒ“κΈ€