[Node.js]簡単にHTTPサーバを実装[Tips]

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

nodeでhtml表示

node.js標準のhttpモジュールでhtmlを使いたい場合、パスを解釈してhtmlを表示する機能は自分で実装する必要があります。
expressとかのフレームワークを使えば必要なhttpサーバの機能を十分満たしていますが、
そこまで大げさにする必要がなく、とにかく指定したurlでhtml(静的ファイル)を使えればいいという時の簡単な実装方法を紹介します。

環境構築方法

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.7.4
  • Node.js : v0.8.15
  • npm : 1.1.66

connectで簡単httpサーバ実装

connectとはミドルウェアフレームワークで、静的ファイル処理やルーティング処理のための機能をもっています。
expressもこのモジュールをベースに実装されています。
ではインストールからhtmlファイル表示まで一気にやってみましょう。

% mkdir connect
% cd connect
% npm install connect
% touch app.js

サーバ用モジュールを作成します。
静的ファイルのベースディレクトリをapp.jsと同じディレクトリに指定しています。

//app.js
var connect = require('connect');
connect.createServer(
    connect.static(__dirname)
).listen(3000);

app.jsと同じディレクトリに適当なhtmlファイルを用意しましょう。
とりあえず次のようなhtmlファイル。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>hello connect</title>
</head>
<body>
hello connect
</body>
</html>

app.jsを起動してブラウザでアクセスしてみましょう。htmlファイルが表示されます。

% node app.js
% open http://localhost:3000

参考サイトなど