본문 바로가기
웹 개발 (Frontend Developer)/Node.js

Node.js 모듈 시스템에 대해

by Jackykim 2024. 9. 6.

<모듈 이란?>

Node.js에서 모듈은 '필요한 함수와 기능들의 집합'을 의미합니다. Node.js 에서 제공해 주는 많은 모듈들을 손쉽게 사용하거나 직접 모듈 만들어서 사용할 수 있습니다. 

 

<모듈을 불러오는 방법>

const module = require <모듈_이름>

"require() 함수를 사용해 자바스크립트 파일을 읽고, 실행하여 객체를 반환합니다.

 

<코어 (Core) 모듈>

core module(built-in module)은 Node.js에서 기본적으로 제공하는(내재되어 있는) 모듈을 의미합니다.
Http : http 모듈은 Node.js에서 HTTP 서버를 생성하기 위한 클래스, 메서드, 이벤트를 포함합니다.
Url : url 모듈에는 URL 확인 및 구문 분석을 위한 메서드가 포함되어 있습니다.
Querystring : querystring 모듈에는 쿼리 문자열을 처리하는 메서드가 포함되어 있습니다.
Path : path 모듈에는 파일 경로를 처리하는 메서드가 포함되어 있습니다.
fs : fs 모듈에는 파일 I/O 작업을 위한 클래스, 메서드 및 이벤트가 포함되어 있습니다.
util : util 모듈에는 프로그래머에게 유용한 유틸리티 기능이 포함되어 있습니다.

 

<로컬 모듈>

로컬 모듈은 Node.js 애플리케이션 내에서 직접 생성한 모듈입니다. Node.js 커뮤니티에서 사용할 수 있도록 패키지로 만들어 NPM을 통해 배포할 수도 있습니다.

 

<모듈을 사용하는 이유 및 장점>

1. 존재하는(이미 작성한) 코드를 재사용할 수 있습니다.
2. 관계가 있는 코드끼리 모아 놓아서 코드를 정리할 수 있습니다.
3. 관계없는 디테일한 부분은 숨기고 직접 사용되는 코드만 가져와서 보여줄 수 있습니다. 
(해당 모듈 전체를 가져오는 게 아닌 특정 함수나 변수, 클래스만을 가져와서 사용)

 

<간단한 https 모듈 생성하는 방법>

vscode 에서 https.js, request.js, response.js 파일들 생성합니다

왼쪽이 https.js 코드이며 오른쪽은 Request.js 입니다

 

Request.js에서 데이터를 암호화한 후, 특정 경로로 요청을 보냅니다.

 

Response.js

암호화돼서 온 결과 데이터를 복호화합니다. 

 

https에서 request에 있는 함수와 reponse에 있는 함수를 가져와야 합니다.

exports: {} 사용하여 모듈을 밖으로 export 해줘 다른 파일에서 읽을 수 있게 합니다. 

모듈 export 방법
Https.js 에서 불러오기

 

모듈 import / export 완성하면 하단 사진처럼 나오게 됩니다

 

<모듈을 export하는 여러 가지 방법>

 

상수 export, 모듈 생략 export, 기본 export 방식 등 여려가지 export 방식이 있지만 가장 일반적인 방법은 처음에 설명한 module.export = {} 방법입니다.