티스토리 뷰

Back-end/Node.js

Modules & require()

vinomuse 2017. 2. 23. 00:23


Modules


node.js application 만들 때 많은 모듈들을 사용하는데 함수표현(function expressions)에 대해 알아보자.



함수표현 (function expressions)

function callName(name) {
    name();
}

// function expressions
var person = function() {
    console.log('Jason');
}

callName(person);

// 결과값 Jason

callName() 함수 호출시 변수로 지정된 person을 argument로 지정한다.

그럼 선언적 함수(function declarations)로 지정된 callName에 name이라는 parameter 값에 person을 대입한다.

결과적으로는 person을 호출하게 됨으로써 Jason이라는 결과값이 나온다.


※ 함수 표현을 살펴본 이유는 node.js 모듈을 사용할 때 자주보게 되는 패턴이기 때문.


▶ moudles & require()

우선 app.js 와 count.js 파일을 생성

// app.js
var count = require('./count');
console.log(count.add(count.num, 2));
console.log(count.subtract(count.num, 2));

// 결과값 : 12, 8
// count.js (방법 1)
module.exports = {
    num: 10,
    add: function(a, b) {
        return a + b;
    },
    subtract: function(a, b) {
        return a - b;
    }
};
// count.js (방법 2)
var num = 10;
var add = function(a, b) {
    return a + b;
};
var subtract = function(a, b) {
    return a - b;
};
module.exports = {
    num: num,
    add: add,
    subtract: subtract
};
// count.js (방법 3)
var num = 10;
var add = function(a, b) {
    return a + b;
};
var subtract = function(a, b) {
    return a - b;
};
module.exports.num = num;
module.exports.add = add;
module.exports.subtract = subtract;
// count.js (방법 4)
module.exports.num = 10;
module.exports.add = function(a, b) {
    return a + b;
};
module.exports.subtract = function(a, b) {
    return a - b;
};

위와 같이 module.exports object를 이용해서 다양한 패턴으로 커스텀할 수 있다. 

마지막으로 app.js 에서 require()를 이용하여 count.js를 불러온다. 

'Back-end > Node.js' 카테고리의 다른 글

The Event Module  (0) 2017.02.23
Node.js 소개 및 설치  (0) 2017.02.22
공유하기 링크
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Total
Today
Yesterday