さて、nodeでモジュールを作る方法についてメモメモです。
nodeは本日v0.5.1がリリースされたとこですね。
nodeで言う「モジュール」というのはjavaやphpなどでいう「クラス」みたいなものです。
でも実態はjavascriptなので、中身は関数群というか関数オブジェクトのかたまりですね。
参考)http://nodejs.org/docs/v0.5.1/api/modules.html#modules
commonsJSの仕様にのっとって利用します。
利用するフレームワークはexpressとします。
サンプルとしてよくある人間クラス(Person)を作ります。
hello()メソッドで"hello!"と、myName()メソッドで自分の名前を出力します。
Person.js
var Person = function(name) {
this.name = name;
this.hello = function() {
console.log("hello");
};
this.myName = function() {
console.log(this.name);
};
};
module.exports = Person;module.exportsは、モジュール全体を関数化(オブジェクト化)する時に利用します。ちなみにjavascriptのprototypeを使うパターンでも同じです。
var Person = function(name) {
this.name = name;
};
Person.prototype.hello = function() {
console.log("hello");
};
Person.prototype.myName = function() {
console.log(this.name);
};
module.exports = Person;app.js
var Person = require("/path/to/Person");
var p = new Person("koexuka");
p.hello(); // "hello!"
p.myName(); // "koexuka"
です。またはもう一つやり方があり
Person.js
exports.setName = function(name) {
this.name = name;
};
exports.hello = function() {
console.log("hello!");
};
exports.myName = function() {
console.log(this.name);
};app.js
var p = require("/path/to/Person");
p.setName("koexuka");
p.hello(); // "hello!"
p.myName(); // "koexuka"です。こちらの方が少し簡略ですね。
以上でぇぇぇえぇぇぇぇす。
0 件のコメント:
コメントを投稿