node.js で、ある機能をモジュールとして分割し、アプリケーションから呼び出して利用する例です。
Square 変数に、calc メソッド、print メソッドを実装します。node.js では、読み込まれる JavaScript は node.js 配下のクロージャーとして読み込まれます。このため、外部からこの JavaScript の機能にアクセスするには、module.exports にアクセス用の関数を定義します。ここでは calc メソッドを定義することで、Square 変数の内容を隠蔽化しています。
square.js
var Square = function(){ var self = this; this.calc = function(x, y) { self.square = x * y; return self; } this.print = function(callback){ callback(this.square); return self; } } module.exports = { calc: function(x, y){ return new Square(x).calc(x, y); } }
square.js に実装した calc メソッドを使って、面積の計算を行います。
app.js
var Square = require("./square.js"); Square .calc(3,5) .print(function(result){ console.log(result); });
コンソール画面から、"node app.js" を入力して Enter 押下で実行します。
C:devnodejsCalc>node app.js
15
出力結果として 15 が得られました。