Node.jsでHTMLファイルを読み込み、response.writeを使用して応答を書き込む方法


メソッドを使用して応答を書き込む方法について説明します。以下に、いくつかの方法とそれぞれのコード例を示します。

  1. ファイルの読み込みと直接の書き込み:

    const http = require('http');
    const fs = require('fs');
    const server = http.createServer((req, res) => {
    fs.readFile('path/to/file.html', (err, data) => {
    if (err) {
      res.writeHead(500, {'Content-Type': 'text/plain'});
      res.end('Internal Server Error');
    } else {
      res.writeHead(200, {'Content-Type': 'text/html'});
      res.write(data);
      res.end();
    }
    });
    });
    server.listen(3000, () => {
    console.log('Server is running on port 3000');
    });
  2. ストリームを使用した書き込み:

    const http = require('http');
    const fs = require('fs');
    const server = http.createServer((req, res) => {
    const stream = fs.createReadStream('path/to/file.html');
    res.writeHead(200, {'Content-Type': 'text/html'});
    stream.pipe(res);
    });
    server.listen(3000, () => {
    console.log('Server is running on port 3000');
    });
  3. response.writeを複数回呼び出して書き込み:

    const http = require('http');
    const server = http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write('<html>');
    res.write('<body>');
    res.write('<h1>Hello, World!</h1>');
    res.write('</body>');
    res.write('</html>');
    res.end();
    });
    server.listen(3000, () => {
    console.log('Server is running on port 3000');
    });

これらの例では、Node.jsのHTTPモジュールを使用してサーバーを作成し、クライアントからのリクエストに対してHTMLファイルを読み込んでレスポンスとして返します。response.writeメソッドを使用してデータを書き込み、res.end()メソッドを呼び出して応答を終了します。

適切なファイルパスを指定して、上記のコード例を使用してHTMLファイルを読み込み、適切な応答をクライアントに送信することができます。