Nodeでモジュール間(app内)で変数を持ちまわる方法
Node.js jpのMLで話題になってました.
ちょうど似たことを考えていた (Sequelizeのインスタンスを使いまわそうと思って) ので追ってたらブログでまとめられてた.
expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ
自分で考えてたのは, 上記ブログの3. クロージャを使う 方法だけでした.
色々あるんだなーと思いつつ, その後MLで言及された
// app.js require './model' module.exports.instanceA = new instanceA(); //model.js require.main.exports.instanceA; // 使える
のやり方がいいなーと思ったのでとりあえずこれでやりながら, 他にも良い方法ないか考えようと思います.
Node.js v0.6.1 Manual & Documentation によると
ファイルがNodeによって直接実行される場合、module が require.main に設定されます。 これは、ファイルが直接実行されたかを決定できることを意味します。
ということらしいので node app.js とした場合 app.js がrequire.mainになるようです.