범용 프로그래밍 언어가 되려면 모듈 기능이 필수적이다.
자바스크립트에서 CommonJS 모듈 시스템을 표준으로 사용하고 있다.
노드에서도 역시 다른 파일에 있는 함수나 변수를 가져와 쓸 수 있는 CommonJS 모듈 시스템을 구현하였다.
** sum.js
module.exports = sum = (a, b) => {
return a + b;
}
** index.js
//파일 경로에 js 파일 확장자는 생략가능
const sum = require("./sum");
console.log(sum(1, 2));
** calc.js
function calculate(a, b) {
return a * b;
}
module.exports = calculate;
** app.js
const calc = require('./calc.js');
calc(2, 3); // 6
** calc.js
module.exports = {
geometricSum(a, b, c) {
return a * b * c;
},
arithmeticSum(n) {
return n + 1;
}
}
** app.js
const calc = require('./calc.js');
calc.geometricSum(1, 2, 3);
** module.js
var foo = function() {};
var bar = function() {};
exports.foo = foo;
exports.bar = bar;
** app.js
var myMod = require('./module');
myMod.foo();
myMod.bar();