express中staticミドルウェア
url
を入力した後に、css
、js
、express
、ファイルなどのサービス側の静的ファイルに直接アクセスするには、これらの静的ファイルの位置を知る必要があります.express.static
フレームワークでは、Staic
ミドルウェア関数が実装されます.express
は、Staic
に組み込まれたミドルウェア関数であり、静的サービスに基づいて静的ファイルにサービスを提供する.serve-static
関数はserve-static
モジュールにカプセル化され、serveStatic
モジュールが投げ出したstatic
がreq.url
方法である.上記の注釈は、ミドルウェア関数が所与のルートディレクトリのファイルにサービスを提供する方法の役割を説明し、サービスするファイルは、next()
と提供されるルートディレクトリとを結合することによって決定される.ファイルが見つからない場合、モジュールはhttp://127.0.0.1:8888/public/images/111.jpg
を呼び出して次のミドルウェアに移動するように変更されます.くだらないことは言わないで、実際に操作してください.ブラウザアドレスバー入力
req.url
では、サービス側の静的ピクチャにアクセスできることが分かった.ミドルウェア関数がサービスするファイルは、
http://127.0.0.1:8888/
を提供されるルートディレクトリと組み合わせることによって決定され、すなわちhttp://127.0.0.1:8888/
がアクセスするのはミドルウェアが指定したディレクトリである.上図のhttp://127.0.0.1:8888/
はプロジェクトのルートディレクトリに対応しているので、public/images/111.jpg
の後にexpress.static
を加えると静的ピクチャにアクセスできます.複数の静的リソースディレクトリを使用する場合は、
Express
ミドルウェア関数を複数回呼び出し、express.static
ミドルウェア関数を使用して静的ディレクトリを設定する順序でファイルを検索します.express.static
関数で提供されるファイルの仮想パス接頭辞を作成するには(パスがファイルシステムに実際に存在しない場合は、静的ディレクトリのインストールパスを指定します.このうち、
/images
および/files
は指定された仮想ディレクトリであり、サービス側には実際には存在しない.参照リンク:https://expressjs.com/zh-cn/starter/static-files.html