‫正しいURLを使っても画像が表示されないのは､ バックエンドのコードやNode Expressの動作､
‫サービス全般の動作について理解しなければならない重要なことがあるからです｡
‫デフォルトでは､ サーバー側のファイルは一つもありません｡
‫そのため､ Node Expressのアプリは､ サーバーの外からアクセスできるようになっています｡
‫そうでなければ､ localhost 5000 slash app JSと入力して､ そこでソースコードを見ることができるからです｡
‫しかし､ 幸いなことにこれはうまくいきません｡ バックエンドから入ってくるリクエストはすべて､ 最終的にここにあるミドルウェアファネルに入り､
‫さまざまなミドルウェアリストを経由して､ ミドルウェアにあるロジックだけが実行されるからです｡
‫つまり､ どんなファイルでもリクエストできるわけではなく､ ミドルウェアを経由して､ いずれかのミドルウェアで処理されるリクエストがあるかないかということです｡
‫例えば､ APIやplacesというスラッシュで終わるURLにリクエストを送ると､ それをplacesやroutesにして､
‫そこのロジックがキックオフされるわけです｡
‫しかし､ あるランダムな画像リンクのために､ これを処理するミドルウェアがありませんでした｡
‫しかし､ もちろん今は､ 画像へのアクセスを許可したいので､ そのために新しいミドルウェアを追加します｡
‫ここで､ リクエストボディを解析した後､ 新たに一般的なミドルウェアを追加し､ アップロード画像で始まるリクエストをフィルタリングすることができるかもしれません｡
‫そのため､ localhost 5000のスラッシュを持つリクエストは､ 新しいURLの先頭にスラッシュの画像をアップロードします｡
‫このようなリクエストは特殊なミドルウェアによって処理されますが､ 実はこのミドルウェアはExpress Expressの静的な部分に組み込まれています｡
‫staticをメソッドとして実行することで､ 実際にミドルウェアが返されます｡
‫そして､ これは要求されたファイルを返すだけのミドルウェアです｡
‫静的な提供とは､ ファイルを返すだけである｡
‫実行しないんですね｡
‫返すだけです｡
‫ここで､ どのファイルとどのフォルダを返すかを制御する必要があります｡
‫Express staticでは､ 余計なチェックなしに､ ファイルを提供したいフォルダを指すパスが必要です｡
‫さて､ このようなパスは絶対パスでなければなりませんが､ Nodeに組み込まれているpathモジュールでこれを構築することができます｡
‫js.
‫そこで､ この構文でインポートし､ このパス定数で公開し､ さらにここでstaticにします｡
‫2つのセグメントのアップロードを結合するビルドパスを渡します｡
‫そしてimagesを指定すると､ uploads imagesフォルダを指す新しいパスが作成され､ そこにある任意のファイルをリクエストすると､
‫そのファイルが返されます｡
‫そうでない場合は､ すべてのファイルがロックされるが､ 要求があればこのフォルダー内のファイルが返される｡
‫これを保存して､ アプリを再読み込みすると､ 画像が表示されます｡
‫したがって､ 今は静的に提供しているからです｡
‫そして､ これによってアップロードが機能し､ サーブが機能するのです｡
‫さて､ 当然ながらユーザーの居場所はありませんから､ 確認しておきましょう｡
‫ロックインすると､ 実際にここに場所を追加することもできますし､ ここに画像のアップロードもできます｡
‫ユーザー用の画像をアップロードする手順は基本的に同じなので､ これはとても良い練習になります｡
‫だから､ まず絶対に自分で試してみてください｡
‫次回の講義では､ 一緒にやってみましょう｡