2013-01-04 9 views
10

Wenn Sie eine Express-Anwendung erstellen, erhalten Sie einen Routenordner. Alle Routen sind in der app.js-Datei registriert. Die Logik, was passiert, befindet sich jedoch in den Dateien des Routenordners. Ist das ein Synonym für Controller-Ordner in anderen Frameworks? Ist dies der Ort, an dem Sie die Anfrage/Antwort-Logik hinzufügen sollten?Routenordner in Express

Antwort

11

Ja, ist die gleiche Sache wie ein Controller-Ordner. IMO, Sie verwenden besser verschiedene Dateien als bei Controllern in einer anderen Sprache, denn wenn die Anwendung größer wird, ist es schwierig, den Code zu verstehen, wenn sich die gesamte Anforderungs-/Antwortlogik in derselben Datei befindet.

Beispiel:

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); 

Routen/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

ich der Hauptunterschied denken ist, dass andere Frameworks den Ordner verwenden Hierarchie, um festzulegen, welche Controller auf welche Routen reagieren. In Express ist der Ordner nur ein Ort, an dem die Routendefinitionen abgelegt werden, um den Code zu bereinigen. –

+0

@Jp Bond: Danke :) – LuckyLuke