ホームページ  >  記事  >  ウェブフロントエンド  >  index.html、client.js、server.js を適切に提供するにはどうすればよいですか?

index.html、client.js、server.js を適切に提供するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 04:52:02428ブラウズ

How to Properly Serve index.html, client.js, and server.js?

index.html、client.js、server.js のリンク

このシナリオでは、index.html、 client.js、およびserver.js。問題を分析して、包括的な解決策を提供しましょう。

  1. index.html のリクエスト:

    • ブラウザは、index.html のリクエストを開始します。 client.js.
  2. サーバー応答:

    • サーバー関数 (応答) はこの要求を処理し、次のアクションを実行します:

      • ファイル システムからindex.htmlを取得します。
      • index.htmlのコンテンツをブラウザに送信します。
  3. Content-Type の問題:

    • index.html は「<」で始まるため、ブラウザはそれを JavaScript として解釈し、
    • これは、サーバーが client.js を text/javascript として送信し、index.html を text/html として送信する必要があるためです。

解決するにはこの問題を解決するには、サーバー コードに適切なリクエスト処理を実装する必要があります。リクエストされた URL を特定し、適切なコンテンツ タイプで応答できます。

ファイル サービスに Express を使用する:
ロジックを手動で実装する代わりに、リクエスト処理に Express を使用することを検討してください。 Express には、HTML、CSS、JavaScript などの静的ファイルを提供するプロセスを簡素化する静的ミドルウェアが含まれています。

Express を使用した例を次に示します。

const express = require('express');
const app = express();

// Serve client.js as JavaScript
app.get('/client.js', (req, res) => {
    res.sendFile('path/to/client.js', { contentType: 'text/javascript' });
});

// Serve index.html as HTML
app.get('/', (req, res) => {
    res.sendFile('path/to/index.html', { contentType: 'text/html' });
});

app.listen(3000, () => console.log('Server listening on port 3000'));

このコードは、正しいコンテンツ タイプで「/client.js」のリクエストを処理し、適切なコンテンツ タイプで「/」 (index.html) のリクエストにも応答する Express サーバー。

以上がindex.html、client.js、server.js を適切に提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。