私はnodejsモジュールシステムの仕組みを研究しています。再評価を避け、 `require 'で呼び出されたオブジェクトを動的にアンロードする
- https://nodejs.org/api/modules.html
- http://fredkschott.com/post/2014/06/require-and-the-module-system/
- http://www.bennadel.com/blog/2169-where-does-node-js-and-require-look-for-modules.htm
それはまだこれらの疑問を持っているされて、私はしかし、いくつかのポイントを理解するのに役立ちます:
を私はこれまでのところ、この文献を見つけました
- モジュール内に高価なリソース(データベースプーリング接続を考えてみましょう)がある場合、モジュールを再度要求することでリソースを再評価していないことを確認する方法を教えてください。
- ディスポーザブルリソースを既に 'require'と呼んだら、そのディスポーザブルリソースを動的にアンロードできますか?
私はデータベースプールの単一のインスタンスがあることを確認する必要があるいくつかのシナリオがあるので、重要です。このため、私は高価なリソースを必要とするのではなく、パラメータを受け取ることができるモジュールをエクスポートしています。
ご指摘いただきありがとうございます。 http://bites.goodeggs.com/posts/export-this/#singleton
あなたはモジュールがエクスポートすることができます何のためにオプションのリストを勉強すれば:
モジュール内のリソースの作成場所によって異なります。モジュール自身の/ topスコープ内に作成されている場合は、[ノードプロセスごとに1回存在します](https://nodejs.org/api/modules.html#modules_caching)。リソースがモジュール内の 'function'内に作成された場合、Nodeのモジュールシステムにかかわらず、その関数が呼び出されるたびに作成されます(関数が[引数をメモする](https://en.wikipedia 。org/wiki/Memoization))。 –
モジュールを作成し、出力を観察するために 'console.log'を使って、そして物事が評価されるときに、この情報を自分で見つけることができます。 –