프로그래밍/Node.js

[Node.js 강의 시리즈] 4강 - Node.js 모듈 시스템

월횽 2024. 6. 27. 06:30
728x90
반응형
SMALL

 

Node.js의 모듈 시스템을 이해하고, 내장 모듈과 외부 모듈을 가져와 사용하는 방법을 학습합니다.

 

 

 

 

 

1. 모듈이란?

 

 

모듈의 정의

· 모듈은 특정 기능을 가진 코드의 집합으로, 재사용이 가능하도록 독립된 파일이나 코드 블록으로 분리된 것을 의미한다.
· 모듈화를 통해 코드의 가독성, 유지보수성, 재사용성을 높일 수 있다.

 

 

Node.js의 모듈 시스템

· Node.js는 CommonJS 모듈 시스템을 사용한다. 이는 각 파일을 모듈로 취급하고, require 함수와 module.exports 객체를 사용하여 모듈을 불러오고 내보낼 수 있도록 한다.

 

 

반응형

 

 

2. 내장 모듈과 외부 모듈

 

 

내장 모듈

· Node.js는 자주 사용하는 기능을 제공하는 여러 내장 모듈을 포함하고 있다. 대표적인 내장 모듈로는 fs(파일 시스템), http, path, os 등이 있다.

 

 

외부 모듈

· NPM(Node Package Manager)을 통해 설치할 수 있는 모듈로, 전 세계의 개발자들이 작성한 다양한 모듈을 프로젝트에 추가할 수 있다.
· 예를 들어, lodash, express, moment 등이 있다.

 

 

 

 

 

3. 모듈 가져오기와 사용법

 

내장 모듈 가져오기

3-1. require 함수를 사용하여 내장 모듈을 가져올 수 있다.

// 파일 시스템 모듈을 가져온다.
const fs = require('fs');

// HTTP 모듈을 가져온다.
const http = require('http');
728x90

 

내장 모듈 사용 예제

3-2. 파일 시스템 모듈 (fs) 사용 예제

const fs = require('fs');

// 파일 읽기
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
});

// 파일 쓰기
fs.writeFile('example.txt', 'Hello Node.js', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('File written successfully');
});

 

 

 

 

 

 

3-3. HTTP 모듈 사용 예제

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

 

 

 

 

 

외부 모듈 설치 및 사용

3-4. NPM을 사용하여 외부 모듈을 설치할 수 있다.

npm install lodash

 

 

 

 

 

3-5. 설치된 외부 모듈을 require 함수로 가져와 사용할 수 있다.

const _ = require('lodash');

const array = [1, 2, 3, 4, 5];
const reversedArray = _.reverse(array.slice()); // 원본 배열은 보호하면서 역순으로
console.log(reversedArray); // [5, 4, 3, 2, 1]

 

 

 

 

모듈 내보내기

3-6. 모듈을 정의하고, 다른 파일에서 사용할 수 있도록 내보낸다.

// math.js 파일
function add(a, b) {
  return a + b;
}

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

module.exports = { add, subtract };

 

 

 

 

 

3-7. 모듈 가져오기

내보낸 모듈을 다른 파일에서 가져와 사용한다.

// app.js 파일
const math = require('./math');

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

 

 

 

 

 

- 이전 수업 목록

 

 

728x90
반응형
LIST