こんにちは、私はノードが初めてで、ノード プロセスがどのように処理されるかを理解しようとしています。同期メソッドは絶対に避けるべきであり、ファイルをコンパイル/キャッシュし、その後の呼び出しでは毎回ディスクから読み取るのではなくキャッシュを使用する必要があることを読みました。
ExpressJS リポジトリの MVC サンプルのブート ファイルの 7 行目には、すべてのコントローラーをループし、それらをインスタンス化してルートを動的に作成する readdirSync の呼び出しがあります。
サーバーにリクエストが送信されると、何が起こるでしょうか?
a)アプリを起動すると、アプリがコンパイル/キャッシュされ、ルートとコールバックがメモリに保存され、将来のすべてのリクエストに対応します。
b) ブートはすべての要求を実行し、コントローラーはディスクから読み取られ、サーバーへの呼び出しが行われるたびにインスタンス化されます。
c) 他に何かありますか?
もしそうなら、作者が同期呼び出しを使用する理由がわかります。コードはよりクリーンになり、init 段階でのブロックはリクエスト中のブロックほど悪くはありません。その b の場合、すべてのリクエストの開始時にブロックすると、パフォーマンスに大きな影響を与えませんか?
ありがとう!