express.jsでMVC
npmには便利なモジュールがいっぱいあります。それを活用すれば、簡単にexpress.jsのMVCモデルが構築できます。この記事では、下記のモジュールを使って、express.jsのMVCを構築します。
MVC parts | module |
---|---|
model | mongoose |
view | jade |
controller | * |
まずpackage.json
を開いて、dependencies
下記のコードを追加し、nom update
します。
nom install
を忘れずに〜
Model(Mongoose)
Mongooseはmongodbのmoduleです。Mongooseの使い方は公式サイトのドキュメントなどを参考すれば大丈夫でしょ!http://mongoosejs.com/index.html
express.jsのプロジェクトフォルダにmodelsというフォルダを作成します。中にindex.jsという空ファイルを用意します。例として、Book
というmodelを作りましょう。
まずmodels
フォルダにbook.js
を作成します。中身は:
続いて、index.js
を編集します。
そうすると、下記のような使い方ができます。
View
express.jsのテンプレートエンジンには選択肢が結構多いです。個人的にはjadeをおすすめしたいです。jadeについては、公式ドキュメントで詳しく紹介されてるので、どうぞ:http://jade-lang.com/
express.jsにjadeを実装
app.js
に下記のコードを書けば、jadeが使えるようになります。
Controller
controllers
フォルダを作成し、中にindex.js
を作成します。同じフォルダにbook_controller.js
を作成します:
function(req, res, next)
はnode.jsでよく使うmiddleware
パタンです。三つの引数は
- request(req)
- response(res)
- next
となります。
使い方
routes/index.js
を開いて、一行目にcontrollers
をrequire
:
そのあと、ルーターのルールを追加します。
これで、express.js
のMVCモデルが完成です。