Node.js - 중요 내장 모듈 정리

seunghoking.·2020년 8월 26일
0

nodeJS

목록 보기
1/1

Global Variable

  • exports
  • require
  • module
    -> 이 세개는 node.js 내부의 객체를 다루는 객체로 활용된다.
  • __filename : 현재 실행 중인 경로를 포함 파일의 이름
  • __dirname : 현재 실행 중인 파일의 경로

Process 객체

process 객체는 자바스크립트에서 지원이 되지 않는 객체로 node.js에서만 지원된다.

argv

argv는 node.js 어플리케이션이 실행될 때의 파라미터가 기록된 객체로 실행파라미터를 출력할 수 있다.

process.argv.forEach((val, index, array) => {
  console.log(index + ": " + val);
});

  • process.execPath : 현재 node 실행 파일의 경로를 나타냄
  • process.cwd() : 현재 node application의 경로 반환
  • process.version : node 버전 반환
  • process.memoryUsage() : 현재 서버의 메모리 상태를 반환
  • process.env : 여러가지 환경 설정 정보가 담겨져 있음

Events

node.js는 이벤트 기반의 비동기 프로그램으로, 많은 객체들은 이벤트 기능을 상속 받아서 사용하고 있다.

node에서는 EventEmitter클래스에 구현된 addListener, on 두 개의 메서드를 이용하여 이벤트를 등록하여 사용한다.

let eventHandler = () => {
  console.log("EXIT");
};

process.addListener("exit", eventHandler);

또는

let eventHandler = () => {
  console.log("EXIT");
};

process.on("exit", eventHandler);

두 코드 동일하게 EXIT이 출력되는 것을 볼 수 있습니다.

on과 addListener
이벤트를 등록하는 메서드로 기능이 동일하다. 일반적으로 on을 사용한다고 함.

emit

emit 메소드를 이용하여 이벤트를 강제로 발생 시킬 수 있다.
test라는 이벤트를 강제로 발생 시키고 이벤트 핸들러를 동작시키는 예이다.

process.on('test', () => {
  console.log('TEST Event!');
})
process.emit('test')

OS 모듈

서버의 기본적인 하드웨어 자원들의 정보를 확인할 때 주로 사용한다.

let os = require('os');
console.log(os.hostname());

os.type(), os.platform() : 운영체제를 확인할 수 있다.
os.arch() : 서버의 아키텍쳐 구분 가능
os.networkInterface() : 서버의 로컬 IP 확인 가능

File System 모듈

let fs = require('fs');

파일 읽기 - 비동기

let fs = require('fs');
fs.readFile('test.txt', 'utf8', function(err, data) {
	if(err) throw err;
    console.log(data);
});

동기식 처리 방법은 fs.readFileSync로 처리가능

파일 확인 - 비동기

let fs = require('fs');
fs.exists('test1.txt', function(exists) {
	console.log('fs.exists : ', exists);
})

-> true, false와 같은 결과를 얻을 수 있다.

파일 쓰기

let fs = require('fs');
fs.writeFile('message.txt', 'Hello Node', 'utf8', function(err) {
    if(err) throw err;
    console.log('saved!');
});
    

Url 모듈

복잡한 Url 즉 프로토콜, 호스트 네임, get 방식으로 넘겨주는 쿼리, 파일 path 등 복잡한 url String을 객체화 시켜주고 또 객체를 다시 url로 변환해 주는 역할을 합니다.

url을 객체화 시켜줄때는 url.parse()
다시 직렬화 할때는 url.format() 메서드를 사용합니다.

let url = require("url");

let obj = url.parse(
  "https://www.google.com/search?sxsrf=ALeKk02IM40Ij_JdVCtpiaPUKEzYluCcYg%3A1598448860483&source=hp&ei=3GRGX4mRG8SXr7wPvPaikAo&q=%E3%85%81%E3%85%87%E3%84%B4&btnK=Google+%EA%B2%80%EC%83%89"
);
console.log(obj);
console.log(obj.format());

이외에도 Util 모듈, net 모듈 등이 있습니다.

끝~!

0개의 댓글