노드 Node.js
4. Node.js의 내장 모듈과 CommonJS/ESM
안녕하세요! 태마입니다.
Node.js 기초 강좌입니다.
강좌의 경우
1. 주제 간단 정리
2. 상세 주제 정리
으로 이루어져 있습니다.
노드 Node.js
포스팅 시작하겠습니다 :)
1. 주제 간단 정리
1. Node.js의 내장 모듈(Built-in Modules)이란?
Node.js는 기본적으로 제공하는 **내장 모듈(Built-in Modules)**을 통해
파일 시스템 조작, HTTP 요청 처리, 경로 관리 등을 쉽게 할 수 있습니다.
📌 Node.js 내장 모듈을 사용하면?
✔ 파일 읽기/쓰기, 네트워크 요청 등 다양한 기능을 추가할 수 있음
✔ 별도의 설치 없이 바로 사용 가능
✔ 코드의 복잡도를 줄이고 개발 속도를 높일 수 있음
2. 대표적인 Node.js 내장 모듈
✅ Node.js에서 자주 사용하는 내장 모듈
모듈설명
fs | 파일 읽기/쓰기 관리 |
http | HTTP 서버 생성 |
path | 파일 및 디렉토리 경로 관리 |
os | 운영체제 정보 제공 |
crypto | 암호화 관련 기능 제공 |
events | 이벤트 기반 프로그래밍 지원 |
📌 이 모듈들은 require() 또는 import를 통해 바로 사용할 수 있음!
✅ 여기까지 Node.js의 내장 모듈 개념을 배웠습니다!
👉 "그렇다면, 실제로 내장 모듈을 어떻게 사용할까?"
✅ 2부에서 Node.js의 내장 모듈 사용법과 CommonJS/ESM 모듈 시스템을 배워봅시다!
2. 상세 주제 정리
1. Node.js 내장 모듈 사용법
✅ 1) fs 모듈 – 파일 읽기 및 쓰기
Node.js의 fs(File System) 모듈을 사용하면 파일을 쉽게 읽고, 쓸 수 있습니다.
const fs = require("fs");
// 파일 쓰기
fs.writeFileSync("test.txt", "Hello, Node.js!");
// 파일 읽기
const data = fs.readFileSync("test.txt", "utf-8");
console.log(data);
📌 출력 결과
Hello, Node.js!
📌 fs.writeFileSync()와 fs.readFileSync()를 사용하면 파일을 동기적으로 읽고 쓸 수 있음!
✅ 2) http 모듈 – 간단한 웹 서버 만들기
Node.js의 http 모듈을 사용하면 간단한 웹 서버를 만들 수 있습니다.
const http = require("http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello, Node.js Server!");
});
server.listen(3000, () => {
console.log("서버가 3000번 포트에서 실행 중!");
});
📌 http.createServer()를 사용하면 Node.js만으로 웹 서버를 실행할 수 있음!
✅ 3) path 모듈 – 파일 경로 관리
Node.js의 path 모듈을 사용하면 파일 경로를 쉽게 다룰 수 있습니다.
const path = require("path");
const filePath = "/users/docs/file.txt";
console.log("디렉토리:", path.dirname(filePath));
console.log("파일명:", path.basename(filePath));
console.log("확장자:", path.extname(filePath));
📌 출력 결과
디렉토리: /users/docs
파일명: file.txt
확장자: .txt
📌 path 모듈을 사용하면 파일 경로를 효율적으로 관리 가능!
2. Node.js의 모듈 시스템 – CommonJS vs ESM
Node.js는 모듈을 관리하기 위해 CommonJS와 ESM(ECMAScript Module) 두 가지 방식을 지원합니다.
✅ 1) CommonJS(require) – 기존 Node.js 모듈 방식
Node.js에서는 기본적으로 CommonJS 방식을 사용합니다.
// math.js (모듈 생성)
function add(a, b) {
return a + b;
}
module.exports = add;
// main.js (모듈 불러오기)
const add = require("./math");
console.log(add(3, 5)); // 8 출력
📌 require()를 사용하여 모듈을 불러오는 방식!
✅ 2) ESM(import/export) – 최신 JavaScript 모듈 방식
ESM(ECMAScript Module)은 ES6 이후 도입된 최신 모듈 방식입니다.
// math.js (모듈 생성)
export function add(a, b) {
return a + b;
}
// main.js (모듈 불러오기)
import { add } from "./math.js";
console.log(add(3, 5)); // 8 출력
📌 ESM 방식에서는 import와 export를 사용!
✅ 3) CommonJS vs ESM 비교
구분CommonJS(require)ESM(import/export)
사용법 | require() / module.exports | import / export |
실행 환경 | Node.js에서 기본 지원 | 최신 Node.js(14+) 및 브라우저 |
비동기 로딩 | 지원하지 않음 | 지원함 |
📌 최신 Node.js 프로젝트에서는 ESM을 기본적으로 사용하는 추세!
3. npm 패키지를 활용한 모듈 관리
npm을 사용하면 수많은 패키지를 설치하고 활용할 수 있습니다.
✅ 1) npm을 사용한 패키지 설치
npm install lodash
✅ 2) 패키지 사용 예제 (lodash 라이브러리)
const _ = require("lodash");
const numbers = [1, 2, 3, 4, 5];
const shuffled = _.shuffle(numbers);
console.log(shuffled);
📌 lodash.shuffle()을 사용하면 배열을 랜덤으로 섞을 수 있음!
✅ 3) 글로벌 패키지 실행 (npx 활용)
npx cowsay "Hello, Node.js!"
📌 npx를 사용하면 설치 없이 패키지를 실행 가능!
✅ 여기까지 **Node.js의 내장 모듈과 모듈 시스템(CommonJS, ESM)**을 배웠습니다!
👉 "그렇다면, Node.js에서 npm과 패키지 관리는 어떻게 할까?"
✅ 다음 회차에서 npm과 패키지 관리 방법을 배워봅시다!
'IT Developer > Node.js' 카테고리의 다른 글
Node.js 기초 <9. 파일 시스템(fs 모듈)과 스트림(Stream) 활용> (0) | 2025.03.11 |
---|---|
Node.js 기초 <8. Node.js와 데이터베이스 (MySQL, PostgreSQL, MongoDB)> (0) | 2025.03.10 |
Node.js 기초 <7. RESTful API 개발: CRUD 구현 및 HTTP 요청 처리> (0) | 2025.03.09 |
Node.js 기초 <6. Express.js로 서버 만들기: 기본 개념과 라우팅> (1) | 2025.03.08 |
Node.js 기초 <5. npm과 패키지 관리: 의존성 관리 및 버전 관리> (0) | 2025.03.07 |
Node.js 기초 <3. Node.js의 이벤트 루프와 비동기 처리> (1) | 2025.03.05 |
Node.js 기초 <2. Node.js 설치 및 환경 설정> (1) | 2025.03.04 |
Node.js 기초 <1. Node.js란? 기본 개념과 특징> (2) | 2025.03.03 |