node.jsでモジュールを作る
以下のようなコードを考える。
var sys = require('sys');
var dog = {
"pochi" : 16,
"john" : 10
};
var getDogAge = function(name){
return dog[name];
}
sys.puts('pochi is ' + getDogAge('pochi') + ' years old.');
以下のようにモジュール化すると非常にすっきりする。
■モジュール側
以下のように記述する。ちなみにgetメソッドなどは予約されていて使用できないようだ。
var dog = {
"pochi" : 16,
"john" : 10
};
exports.getAge = function(name){
return dog[name];
}
クライアント側から使用するメソッドやプロパティはexportオブジェクトのプロパティとする。それ以外のグローバル空間にある変数や関数はクライアント側からは見えず、プライベート扱いとなる。
■クライアント側
以下のようにして使用する。
var sys = require('sys');
var dog = require('./dog.js');
sys.puts('pochi is ' + dog.getAge('pochi') + ' years old.');
また以下のようにした場合は
var Dog = function(name){
var self = this;
self.name = name;
self.cry = function(){
sys.puts(self.name);
}
}
module.exports = Dog
以下のように使用することができる。
var Dog = require('./dog.js');
var dog = new Dog();
すっきり。簡単。(●´ω`●)
■参考
TrackBack URL :
Comments (0)