node.js + express + haml install on ubuntu 10.10
少し出遅れてる感バリバリですが、node.jsをUbuntu 10.10@さくらVPSに入れてみた。
node.jsのWebフレームワークのexpressとテンプレート言語hamlで構成してみた。
hamlを選んだ理由は慣れてるから。というそれだけです。
まず必要なもののチェック。
公式によると python 2.4以上とlibssl-devが必要とのことなので、それぞれをチェック。
まず、Python
$ python --version
2.6.6
OK
次にlibssl-dev。これは入れてなかったら sudo apt-get install libssl-dev で入れます。
$ dpkg -l libssl-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii libssl-dev 0.9.8o-1ubuntu SSL development libraries, header files and
ではインストール。
他の環境を汚染したく無いのもあって、/opt/nodejs 以下にインストールすることにしたので、適宜読み替えて下さい。
$ wget http://nodejs.org/dist/node-v0.4.1.tar.gz
$ tar -zxf node-v0.4.1.tar.gz
$ cd node-v0.4.1
$ ./configure --prefix=/opt/nodejs
$ make
$ sudo make install
インストールが終わったので、prefixとして指定した /opt/nodejs/bin を環境変数PATHに設定
$ export PATH=/opt/nodejs/bin:$PATH
パッケージマネージャのnpmをインストール。
※ sudo のみだと環境変数の受け継ぎが出来ないので -i を忘れずに。
$ curl http://npmjs.org/install.sh | sudo -i sh
次は express とhaml だけど、npmで入れるときにはhamlではなくてhamljsと公式に書いてあるので、その通りに。
$ sudo -i npm install express hamljs
以上でインストールは終了。
次はすごく簡単なサンプルの作成。
まずサンプル用のディレクトリの作成して、ディレクトリ移動。
$ mkdir -p hello/views
$ cd hello
そして以下のコードを hello.js として作成。
var express = require('express');
var app = express.createServer();
app.get('/', function(req, res) {
res.render('index.hamljs', {
layout: false
});
});
app.listen(3000);
console.log('running at port 3000');
次はviewテンプレート。views/index.hamljs として作成。
%html
%head
%title hello node.js!
%body
%hello
hello node.js
作成後保存したら、そのままのディレクトリで
$ node hello.js
とすることで
hello node.js
とだけ書かれたものが表示されるはず。
後、viewテンプレートの拡張子が .hamljs というものになってるけど、それを .haml にしたい場合は以下のコードを hello.js の2行目に追加すればいい。
app.register('.haml', require('hamljs'));