HTML をジェネレートするだけに Jade を使っていたが、Node.js のテンプレートエンジンとして活用してみることにした。他にテンプレートエンジンで ejs があるが、jade に慣れてしまうと HTML らしいコーディングが気持ち悪くなる。jade と ejs の比較でおもしろい記事があった。
app.coffee: テンプレートとして設定する
尚、記述は CoffeeScript です。
1 2 3 4 5 6 | app = express.createServer() app.configure -> # view エンジンに指定する app.set 'views', __dirname + '/views' app.set 'view engine', 'jade' ... |
jade 側で app からの値を出力する
ログインしている場合は user の情報が app から受け渡される。
改行好きなので | で書くことが多い。
1 2 3 4 5 6 7 8 9 10 11 12 | body - if (!user) { h2 | Welcome! p | Please log in. - } else { // ex) Welcome! bigchu. h2 | Welcome! #{user.displayName}. - } |
うむ、コードがすっきりしていいね。