読者です 読者をやめる 読者になる 読者になる

ポーカー、プログラミング、もぐ

ポーカーとプログラミングともぐもぐについてのブログ。

Node.js + PostgreSQLを使ってアプリケーションを作る(4) ルーティング、コントローラーの追加

プログラミング

目次

1, 環境構築

2, Hello World

3, 設定ファイルの追加

4, ルーティング、コントローラーの追加 <-今回

今回やること

app.jsからルーティングとコントローラーを別ファイルに分割する

手順

  • 1, コントローラーを作成
$ mkdir controllers
$ mkdir controllers/public
$ vim controllers/public/index.js

controllers/public/index.jsに、以下のように記述します。

'use strict';

const getIndex = function(req, res) {
  res.send('Hello World!');
};

module.exports = {
  getIndex: getIndex
};

これで、モジュールとしてコントローラーを登録し、他の場所から呼び出せるようになります。

  • 2, ルーティングの作成
$ mkdir routes
$ mkdir routes/public
$ vim routes/public/index.js

routes/public/index.jsに、以下のように記述します。

'use strict';

const express = require('express');
const router = express.Router();

const controller = require('../../controllers/public/index');

router.route('/')
  .get(controller.getIndex);

module.exports = router;

'/'のURLが呼ばれた場合、1で作成したコントローラーのgetIndexで処理するように紐付けています。

  • 3, ルーティングを使用するようにapp.jsを変更 app.jsを以下のように書き換える
var express = require('express');
var app = express();

// config
const config = require('./config')(process.env.ENV);

// routing
const public_index = require('./routes/public/index');
app.use('/', public_index);

app.listen(config.port, function () {
  console.log('Example app listening on port ' + config.port);
});

'/'のURLが呼ばれた場合、2で作成したルーティング設定を適用するよう設定しています。

この状態で

$ ./node_modules/node-dev/bin/node-dev app.js

でアプリケーションを開始し、curl htttp://localhost:3000 とすると、

Hello World!

と表示されます。

ここまでのコードは

github.com

に公開してあります。