別のモジュール/アプリケーションによるロード時に、公開された関数のいずれかを呼び出す前に、その構成内のものを実行およびロードできるようにする必要がある Node モジュール (ハーモニーを使用) を作成しようとしています。
yield
私が抱えている問題は、を使用して実行されている内部関数に見えないことですmodule.exports
。例が役立ちます。
module.exports = function*(s_id){
console.log('loading the module lets it execute up till here');
if (!(this instanceof Tester)) return yield new Tester();
}
function* Tester(){
console.log('but we never execute this generator function');
}
Tester.prototype = {
model : function*(){
// other functions
}
}
もう何時間も私を困惑させています!解決策は非常に単純だと思いますが、頭を抱えているようには見えません。Tester() 関数を単純にエクスポートしようとしましたが、まだ同じ問題が発生しています。yield
なぜ私は Tester() 関数に見えないのですか?
また、このアプローチに代わるものは何ですか?上記の例のs_id変数/オブジェクトなど、モジュールをさまざまな入力でロードできるように、モジュールのオブジェクトの性質を維持したいと考えています。