CS/Web & Network
[Node.js]Node.JS Study - 모듈
bonggang
2020. 6. 25. 21:58
* 본 문서는 Do it! Node.js, 인터넷 자료들 및 경험을 바탕으로 학습한 기록입니다.
* 개인의 학습을 위한 자료이기 때문에 정확하지 않은 정보가 포함되어 있을 수 있습니다.
모듈?
메인 파일의 코드 중에서 독립적인 기능은 별도 파일로 분리할 수 있으며, 메인 파일에서는 전체적인 실행 순서나 흐름만을 제어한다. 이렇게 분리된 파일을 노드에서는 모듈이라고 부른다.
즉, 분리된 독립 기능의 모음이라고 볼 수 있으며, 모듈을 만들어 두면 다른 파일에서 모듈을 재활용 할 수 있어 효율성이 높아진다.
exports 전역 객체
모듈 파일을 불러와서 사용하기 위해 exports 전역 객체를 활용한다.
별도의 모듈 자바스크립트 파일을 생성 후 exports 객체의 속성으로 변수나 함수를 지정하면 그 속성을 main.js와 같은 메일 자바스크립트 파일에서 불러와 사용할 수 있다. 모듈을 불러올 때는 require() 메소드를 사용하며, 모듈로 만들어 둔 파일의 이름을 이 메소드의 파라미터로 전달한다. require() 메소드를 호출하면 모듈 객체가 반환되는데, 모듈에서 exports 객체에 설정한 속성들은 이 모듈 객체를 통해 접근할 수 있다.
//main.js
var module1 = require('module1');
module1.func1();
//module1.js
exports.func1 = 함수정의;
내장모듈
자주 사용하는 기본 기능을 노드에 포함시켜 제공하는 것이다. 즉, 미리 포함되어 있는 모듈이라고 할 수 있다.
내장모듈에 대한 자세한 정보는 아래 링크를 참조.
os모듈
시스템 정보를 알려주는 모듈이다.
메소드 이름 | 설명 |
hostname() | 운영체제 호스트 이름 |
totalmem() | 시스템 전체 메모리 용량 |
freemem() | 사용 가능한 메모리 용량 |
cpus() | CPU 정보 |
networkInterfaces() | 네트워크 인터페이스 정보를 담은 배열 객체 반환 |
path모듈
파일 경로 관련 메소드를 제공하는 모듈이다.
메소드 이름 | 설명 |
join() | 여러 개의 이름들을 합쳐 하나의 파일 경로 생성 |
dirname() | 폴더 이름 반환 |
basename() | 확장자를 제외한 이름 반환 |
extname() | 파일 확장자 반환 |