2013-01-04 13 views
10

Po utworzeniu aplikacji Express otrzymujesz folder tras. Wszystkie trasy są rejestrowane w pliku app.js. Jednak logika tego, co się dzieje, znajduje się w plikach folderu tras. Czy jest to synonim dla folderów kontrolerów w innych frameworkach? Czy jest to lokalizacja, w której należy dodać logikę żądania/odpowiedzi?Folder tras w Express

Odpowiedz

11

Tak, jest to tak samo jak folder kontrolera. IMO, lepiej używaj różnych plików, tak jak w przypadku kontrolerów w innym języku, ponieważ gdy aplikacja staje się coraz większa, trudno jest zrozumieć kod, gdy cała logika żądania/odpowiedzi znajduje się w tym samym pliku.

przykład:

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

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

że głównym różnicą jest to, że można użyć innych ram folder hierarchia, aby określić, którzy kontrolery odpowiadają na wybrane trasy. W wyrażeniu folder jest po prostu miejscem do zrzutu definicji tras, aby oczyścić kod. –

+0

@Jp Bond: Dziękuję :) – LuckyLuke