ノードアプリケーションを複数のファイルに分割して、モジュール化しやすく保守しやすくしたいと考えています。PHPのインクルードに相当するNode.jsがあるので、インクルードされたコードは親ファイルの変数にアクセスできますか?
しかし、PHPのような他の言語のように、現在解析されているファイルにファイルを直接インクルードする方法はないので、私の 'modules'または 'separate files'は自動的にスクリプトに定義された変数にアクセスしませんそれはそれらを必要とします。
どうすればいいですか?
私は別々のファイルにこのような何かをやって考えていた:
module.exports = function(stuff) {
//I now have access to 'stuff'.
}
しかし、それは少し面倒です。
誰かがすでにこの前に私に取り組んできたと確信しています...あなたは何をお勧めしますか?
読みますdocs:http://nodejs.org/docs/v0.5.5/api/modules.htmlモジュール内で 'exports'オブジェクトを使うと、特定のバリエーションを作ることができます他の変数はプライベートのままです。それはかなり良いです。 –
"私の 'modules'または 'separate files'は、スクリプトで定義された変数に自動的にアクセスすることはありません。 require.jsモジュールのアイデアは、他のスクリプトで使用される機能を提供することです。彼らが他のモジュールのパブリックデータ/メソッドにアクセスしたい場合、それらのモジュール自体が必要です。 –
'ミドルウェア'パターンを考えてみましょう。あなたのモジュールは、実際には最初の 'require'の間に実行された関数のリストを持つオブジェクトです。 – moka