2013-01-04 18 views
10

Expressアプリケーションを作成すると、ルートフォルダが作成されます。すべてのルートはapp.jsファイルに登録されています。しかし、何が起こるかに関する論理は、ルートフォルダのファイルにあります。これは他のフレームワークのコントローラフォルダと同義ですか?リクエスト/レスポンスロジックを追加する場所ですか?Express内のルートフォルダ

答えて

11

はい、コントローラフォルダと同じようです。 IMOでは、コントローラが別の言語で使用するのと同じように、異なるファイルを使用することをお勧めします。なぜなら、アプリケーションが大きくなると、すべての要求/応答ロジックが同じファイルにあるときにコードを理解するのが難しいからです。

例:

app.js

var express = require('express'), 
    employees = require('./routes/employee'); 

var app = express(); 

app.get('/employees', employees.findAll); 
app.get('/employees/:id', employees.findById); 

app.listen(80); 

ルート/ employee.js

exports.findAll = function(req, res) { 
    res.send([{name:'name1'}, {name:'name2'}, {name:'name3'}]); 
}; 

exports.findById = function(req, res) { 
    res.send({id:req.params.id, name: "The Name", description: "description"}); 
}; 
+1

私は主な違いは、他のフレームワークは、フォルダを使用することだと思いますどのコントローラがどのルートに応答するかを定義するための階層。エクスプレスでは、フォルダーはルート定義をダンプしてコードをクリーンアップする場所です。 –

+0

@Jp Bond:ありがとう:) – LuckyLuke

関連する問題