この記事は公開されてから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