2016-04-29 11 views
0

のための可能な構造、呼び出し側モジュールがノードモジュール

var SimpleModule 
,simpleModuleInstance; 

SimpleModule = require('./simplemodule'); 
simpleModuleInstance = new SimpleModule(); 
simpleModuleInstance.foo(); 

を行いますように、このAです正式にはNodeに正しいアプローチですか?

+1

「MyModule」とは何ですか? – Nonemoticoner

+1

正式に - 正しく、なぜそんなに複雑なのですか? –

+0

@Nonemoticonerタイポが固定されました。 – loretoparisi

答えて

3

もっと簡単な方法はありますか?モジュールはデフォルトではプライベートなので、エクスポートするもの以外はすべてカプセル化されています。

function SimpleModule(params) { 
    /* Not really private!! */ 
    this.aPrivateFunction = function() { 
    return "hidden"; 
    }; 
} 

/** public function */ 
SimpleModule.prototype.foo = function() { 
    return "bar"; 
} 

module.exports = SimpleModule; 
+1

@NestorBritez実際にはありません。あなたが 'var instance = new SimpleModule()'を書くつもりならば、インスタンスの 'aPrivateFunction'で終わるでしょう。 'aPrivateFunction'を静的メソッドとして取得するには、コンストラクタ関数に直接接続する必要があります。' SimpleModule.aPrivateFunction = function()... ' – Bashar