728x90
exports : 사용자 모듈 만들기(여러 속성과 메소드), require()
만들고자 하는 모듈을 파일로 만들고 exports객체의 속성이나 메소드를 정의해주면 모듈을 만들어 낼 수 있습니다. 그리고 만들어진 모듈을 전역 함수 require()를 이용하여 추출합니다.
// cicle.js - 모듈이 되는 파일
var PI = Math.PI;
exports.area = function (r) {
return PI * r * r;
};
exports.circumference = function (r) {
return 2 * PI * r;
};
// foo.js - 실행될 파일
var circle = require('./circle.js');
console.log( 'The area of a circle of radius 4 is '
+ circle.area(4));
$ node foo.js
The area of a circle of radius 4 is 50.26548245743669
module.exports : 사용자 모듈 만들기(하나의 속성이나 메소드)
exports와 다른 점 : exports는 속성이나 메소드를 여러 개 정의할 수 있지만 module.exports는 하나만 정의할 수 있습니다.
// square.js - 모듈이 되는 파일
module.exports = function(width) {
return {
area: function() {
return width * width;
}
};
}
// bar.js - 실행될 파일
var square = require('./square.js');
var mySquare = square(2);
console.log('The area of my square is ' + mySquare.area());
$ node mymain.js
사용자 모듈입니다.
index.js 파일
var module = require('./mymodule');
만약 위처럼 확장자를 입력하지 않는다면
1. 먼저 mymodule.js 파일을 찾습니다. 있다면 그 파일을 추출합니다.
2. mymodule.js 파일이 없다면 mymodule이라는 폴더를 찾습니다. 그리고 그 폴더의 index.js 파일을 찾아 추출합니다.
[출처]
https://opentutorials.org/module/938/7190
+ 보면 좋을만한 사이트
https://poiemaweb.com/nodejs-module
728x90
'JavaScript > Node.js' 카테고리의 다른 글
Logging 모듈 Winston (0) | 2023.05.03 |
---|---|
Node.js에서 Python 함수 호출하기 - spawn() (0) | 2023.05.03 |
url 모듈 (0) | 2023.04.22 |
자식 프로세스(child_process) (0) | 2023.02.07 |
Node.js 기초와 모듈(내장 모듈, npm, 사용자정의 모듈) (0) | 2023.02.04 |