Nodeを少しさわってみようと思ったのですが最新バージョンではデフォルトの拡張子が『.jade』となっていました。『.jade』のビューの書き方が少し特殊な感じだったのと以前購入しておいた参考書籍では『.ejs』をつかったサンプルコードとなっていたので、『.ejs』を使った開発の始め方について調べてみました。
参考になったサイトがこちらです。
Node Setup
次のコマンドでpackage.jsonを作成します。
$ npm init
EJSテンプレートを使いたい場合、package.jsonに次の宣言を追加すればいいみたいです。
"dependencies": { "ejs": "^1.0.0", "express": "^4.6.1" }
package.jsonの準備ができたら次のコマンドを実行します。
$ npm install
続いてViewとserver.jsを用意します。上記サイトのサンプルでは次の構成になっていました。
- views ----- partials ---------- footer.ejs ---------- head.ejs ---------- header.ejs ----- pages ---------- index.ejs ---------- about.ejs - package.json - server.js
こんな感じになります。
server.jsの内容です。
// server.js // load the things we need var express = require('express'); var app = express(); // set the view engine to ejs app.set('view engine', 'ejs'); // use res.render to load up an ejs view file // index page app.get('/', function(req, res) { res.render('pages/index'); }); // about page app.get('/about', function(req, res) { res.render('pages/about'); }); app.listen(8080); console.log('8080 is the magic port');
これでローカルサーバを起動できるようになりました。
$ node server.js
EJS Partialsについて
Node.jsの開発でもRailsのようにパーシャルをつかった共通化ができるみたいです。
head.ejs
header.ejs
footer.ejs
パーシャルはこんな感じで用意します。使用するときは次のように宣言します。
<% include ../partials/head %>
index.ejs
about.ejs
これで準備完了です。次のコマンドでローカルサーバを起動して画面にアクセスしてみます。
$ node server.js
無事に画面を表示できました。
追記
expressコマンドで作成したい場合は『-e』コマンドでできたみたいです。
express express_sample -s -e