[~/javascript/node.js/creating_modules(master)]$ cat foo.js
var circle = require('./circle.js');
console.log( 'The area of a circle of radius 4 is '
+ circle.area(4));
[~/javascript/node.js/creating_modules(master)]$ cat circle.js
var PI = Math.PI;
exports.area = function (r) {
return PI * r * r;
};
exports.circumference = function (r) {
return 2 * PI * r;
};
[~/javascript/node.js/creating_modules(master)]$ node foo.js The area of a circle of radius 4 is 50.26548245743669
El módulo circle.js exporta las funciones area()
y circumference(). Para exportar un objeto lo añadimos
al objeto expecial exports.
Las variables locales al módulo serán privadas.
En este ejemplo la variable PI es privada a circle.js.
[~/javascript/node.js/creating_modules(master)]$ node debug foo.js
< debugger listening on port 5858
connecting... ok
break in foo.js:1
1 var circle = require('./circle.js');
2 console.log( 'The area of a circle of radius 4 is '
3 + circle.area(4));
debug> n
break in foo.js:2
1 var circle = require('./circle.js');
2 console.log( 'The area of a circle of radius 4 is '
3 + circle.area(4));
4
debug> repl
Press Ctrl + C to leave debug repl
> circle
{ circumference: [Function],
area: [Function] }
> circle.area(2)
12.566370614359172
> PI
ReferenceError: PI is not defined
>