모듈은 다른 언어에서 사용하는 라이브러리, API와 같다.
node.js에서는 global 모듈 외에 모든 필요한 기능을 사용하고자 할 때는 모듈(라이브러리)를 로딩하여 사용해야 한다.
모듈은 기본적으로 require함수를 이용하여 로딩한다.
(require은 global 모듈에 있는 함수이기 때문에, 어디서든지 사용 가능한 함수이다.)
만약 http 모듈을 로딩한다면 다음과 같이 입력하면 된다.
var http = require('http');
http 변수 내에 http 모듈이 로딩된다.
node.js에서 설치 시 자동적으로 기본 모듈이 설치된다.
기본적으로 제공되는 모듈은 node.js의 공식 홈페이지에서 제공하는 문서에서 확인 할 수 있다.
node.js api 문서 : https://nodejs.org/dist/latest-v5.x/docs/api/
기본 모듈을 제외한 모듈들은 (ex, nodeman, formidable, multer 등등) npm이라는 패키지 관리자 도구를 이용해 설치해야 한다.
기본적으로 제공되는 모듈은 다음과 같다.
process : 프로세스에 대한 정보를 담고 있는 전역 객체
utility : 타입 검사, 포메팅 등의 유틸리티 함수 제공
events : 이벤트 관련 함수 제공
buffers : 바이너리 데이터의 옥텟 스트림(octet stream)을 다루는 모듈 streams :스트림을 다루기 위한 추상 인터페이스
crypto : 암호화에 대한 함수 제공
TLS/SSL : 공개키, 개인키 기반인 TLS/SSL 에 대한 함수 제공
File System : 파일을 다루는 함수 제공
Path : 파일 경로를 다루는 함수 제공
Net : 비동기 네트워크 통신 기능 제공
UDP : UDP의 데이터그램 소켓 (Datagram Sockets) 통신 기능 제공
DNS : 도메인 네임 서버를 다루는 함수 제공
TTP : HTTP 서버 및 클라이언트 기능 제공
HTTPS : HTTPS 서버 및 클라이언트 기능 제공
URL : URL을 다루는 함수 제공
Query Strings : URL의 쿼리 문자열을 다루는 함수 제공
Readline : 스트림에서 라인 단위로 읽는 기능을 제공
Vm : 자바스크립트 실행 기능 제공
Child Processes : 자식 프로세스 생성과 관련된 함수 제공
Assert : 유닛 테스트를 위한 단언문을 제공
TTY : 터미널이나 콘솔 관련 기능을 제공
Zlib : zlib 압축, 해제 함수 제공
OS : 운영체제에 대한 정보를 구하는 함수 제공
Cluster : 여러 노드 프로세스를 실행하는 클러스터 기능을 제공
(출처 : T아카데미 node.js 자료)
'Javascript > node.js' 카테고리의 다른 글
비동기 흐름 제어를 위한 모듈 - async (0) | 2016.09.18 |
---|---|
node.js 시작하기 (0) | 2016.03.01 |