Express.jsで静的ファイルを配信する方法


  1. Expressアプリケーションの設定: まず、Expressアプリケーションの設定で、静的ファイルのディレクトリを指定する必要があります。以下のコードを使用して、publicディレクトリを静的ファイルのルートディレクトリとして設定します。
app.use(express.static('public'));
  1. 静的ファイルの配信: 上記のコードを追加することで、Expressはpublicディレクトリ内のすべてのファイルを静的ファイルとして扱います。例えば、publicディレクトリ内にあるstyles.cssというファイルを配信するには、以下のように書きます。
<link rel="stylesheet" href="/styles.css">
  1. エラーの解決: 静的ファイルの配信中によく発生するエラーとその解決策をいくつか紹介します。
  • エラー: "Cannot GET /styles.css" このエラーは、指定したファイルが見つからない場合に表示されます。以下の点を確認してください:

    • ファイルパスが正しいかどうかを確認します。
    • publicディレクトリ内にファイルが存在することを確認します。
  • エラー: "404 Not Found" このエラーは、Expressがリクエストされたファイルを見つけられない場合に表示されます。以下の点を確認してください:

    • 静的ファイルのルートディレクトリが正しく設定されていることを確認します。
    • ファイルのパスが正しいかどうかを確認します。
  • エラー: "Access Denied" このエラーは、静的ファイルにアクセスする権限がない場合に表示されます。以下の点を確認してください:

    • ファイルやディレクトリのパーミッションが正しく設定されていることを確認します。

以上が、Express.jsで静的ファイルを配信する方法と一般的なエラーの解決策です。これにより、Webアプリケーションに必要なCSSやJavaScriptファイルなどの静的ファイルを簡単に配信することができます。