Study/Node.js

[노드JS] 간단한 내장 모듈 사용하기

AC 2019. 3. 10. 00:07



모듈을 직접 만들어 사용하는 방법과 다른 사람이 만들어 놓은 외장 모듈, 즉 외부 패키지를 설치한 후 불러와서

사용하는 방법을 알아보았다. 이번에는 노드 내에 내장되어있는 기본 내장 모듈을 알아보자.


내장 모듈을 자주 사용하는 기본 기능을 노드에 포함시켜 제공하는 것이다. 노드를 설치하고 나면,

그 안에 제공되는 다양한 모듈을 사용할 수 있다. 이러게 미리 포함되어 있는 모듈을 내장 모듈이라고 하고, 개발자가 직접 만들어 올린 모듈을 외장 모듈이라고 한다.


외장 모듈은 npm으로 설치해야 하지만 내장 모듈은 바로 사용할 수 있다. 이번 포스팅에서는 내장 모듈 중에서 os 모듈과 path 모듈에 대해 알아본다.



※ 내장 모듈보다 외장 모듈이 더 편리한 경우도 있다.


내장 모듈의 기능이 불편하거나 충분하지 못하다면 외장 모듈의 기능을 사용하는 것이 더 좋을 수 있다. 이미 많은 외장 모듈들이 만들어져 있기 때문에 알아보는 것도 좋다.


내장 모듈에 대한 정보는 다음 사이트에서 찾아볼 수 있다.


▶ http://nodejs.org/api


시스템 정보를 알려주는 os 모듈


실무에서 서버 기능을 만들다 보면 시스템의 CPU나 메모리 또는 디스크 용량이 얼마나 남아 있는지 확인하는 모니터링이 필요할 때가 있다. 이 때 다음 표로 작성한 것처럼 os 모듈에 있는 메소드들을 사용할 수 있다. os 모듈이 가지고 있는 주요 메소드는 다음과 같다.




새 파일을 ch02_test7.js로 만들고 다음과 같이 os 모듈을 사용하는 코드를 입력하자.




▲os 모듈을 사용해 메모리와 CPU 정보 등 확인하기


파일 패스를 다루는 path 모듈


파일을 다룰 때는 파일 패스에서 파일 이름을 폴더 이름과 구별하거나 파일 이름에서 확장자 또는 확장자를 제외한 파일 이름을 알아내는 작업이 많이 필요하다. path 모듈은 파일 패스를 다룰 때 필요한 메소드를 제공한다. path 모듈의 주요 메소드는 다음과 같다.







ch02_test8.js 파일을 새로 만들고 다음과 같이 path 모듈을 사용하는 코드를 입력한다.



var path = require('path');


// 디렉토리 이름 합치기

var directories = ["users", "mike", "docs"];

var docsDirectory = directories.join(path.sep);

console.log('문서 디렉터리 : %s', docsDirectory);


// 디렉토리 이름과 파일 이름 합치기

var curPath =path.join('/Users/mike', 'notepad.exe');

console.log('파일 패스 : %s', curPath);





여러 개의 이름을 담고 있는 배열 객체를 만들었을 때 배열 객체의 join() 메소드를 사용하면 하나의 디렉토리 이름이나 파일 이름으로 만들 수 있다. 또한 path 객체의 join() 메소드를 사용해 디렉토리 이름과 파일 이름을 합칠 수도 있다.


거꾸로 파일 패스에서 디렉토리 이름이나 파일 이름을 구별하고 싶을 때는 dirname(), basename(), extname() 메소드를 사용하면 된다.


ch02_test8.js 파일에 다음과 같이 추가로 입력하자.



// 패스에서 디렉토리, 파일 이름, 확장자 구별하기

var filename = "C:\\Users\\mike\\notepad.exe";

var dirname = path.dirname(filename);

var basename = path.basename(filename);

var extname = path.extname(filename);


console.log('디렉토리 : %s, 파일 이름 : %s, 확장자 : %s', dirname, basename, extname);



▲ path 모듈을 이용해 파일 패스 다루기



파일을 실행하면 여러 개의 이름을 합쳐서 만든 디렉토리 이름을 확인할 수 있다. 그리고 하나의 파일 패스에서 구분한 파일의 이름도 확인할 수 있다.


LIST