Node.js/JavaScript

[키워드 정리] JS에서 '모듈'이란 (+ built-in 모듈)

왈왈디 2023. 3. 14. 14:38
728x90

JavaScript에서 모듈은 코드를 재사용 가능한 작은 조각으로 분리하는 방법입니다.

모듈은 대개 함수, 클래스, 상수 또는 변수와 같은 기능적 단위를 정의합니다.

 

이전에는 JavaScript에서 모듈을 사용하려면 외부 라이브러리를 사용해야 했지만, 이제는 ES6 (ECMAScript 2015)부터 기본적으로 지원됩니다.

모듈은 파일 단위로 작성되며, 각 모듈은 자체적인 스코프를 가집니다. 따라서 모듈 간에 이름 충돌이 발생하지 않습니다.

모듈을 사용하면 코드의 유지 보수성과 재사용성이 향상되며, 개발자는 코드를 더욱 구조화하고 의존성을 관리할 수 있습니다.

 

모듈의 예시로, math.js 파일에 다음과 같은 코드를 작성한 후, 이를 다른 파일에서 불러와 사용할 수 있습니다.

 

// math.js

export function add(a, b) {
  return a + b;
}

export function subtract(a, b) {
  return a - b;
}

export const PI = 3.141592653589793238462643383279502884197169399375105820974944;

위 코드에서 export 키워드를 사용하여 함수와 상수를 내보냅니다. 이제 다른 파일에서 math.js 모듈을 불러와 사용할 수 있습니다.

// main.js

import { add, subtract, PI } from "./math.js";

console.log(add(2, 3)); // 5
console.log(subtract(5, 2)); // 3
console.log(PI); // 3.141592653589793

위 코드에서 import 키워드를 사용하여 math.js 모듈에서 내보낸 함수와 상수를 가져옵니다. 이제 add, subtract, PI를 사용할 수 있습니다. 이와 같은 방식으로 모듈을 사용하여 코드를 구조화하고 재사용 가능한 조각으로 분리할 수 있습니다.

 

 

Built-in 모듈

Built-in 모듈은 JavaScript의 표준 라이브러리로 내장되어 있는 모듈입니다.

이러한 모듈은 Node.js나 브라우저와 같은 JavaScript 실행 환경에서 기본적으로 제공됩니다.

 

Built-in 모듈에는 파일 시스템, 네트워크, 암호화, 날짜 및 시간 등과 같은 다양한 기능을 제공합니다.

이러한 모듈을 사용하여 파일을 읽고 쓰기, HTTP 요청 및 응답 처리, 데이터 암호화 및 해독, 날짜 및 시간 처리 등을 할 수 있습니다.

모듈은 require() 함수를 사용하여 불러올 수 있습니다.

예를 들어, fs 모듈을 사용하여 파일 시스템을 조작할 수 있습니다.

const fs = require('fs');

ES6(ES2015) 이후 버전부터는 import 키워드를 사용하여 Built-in 모듈을 불러올 수 있습니다.

import fs from 'fs';

Built-in 모듈의 사용 예시로는 http 모듈을 사용하여 간단한 웹 서버를 만드는 것이 있습니다.

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.write('Hello World!');
  res.end();
});

server.listen(8080);

위 코드는 http 모듈을 사용하여 8080 포트에서 요청을 수신하고, Hello World!라는 메시지를 응답합니다.

이와 같은 방식으로 Built-in 모듈을 사용하여 다양한 기능을 구현할 수 있습니다.

 

출처: chatGPT

728x90