2012-06-18 17 views
75

Nowość w Node.js i Express, staram się zrozumieć, że te dwie koncepcje nakładają się na siebie, trasy a kontroler.Node.js + Express: Routes vs controller

Widziałem przykłady, które są proste: app.js + routes/*, to wydaje się wystarczające do kierowania różnych żądań.

Jednak widzę również ludzi mówiących o używaniu kontrolerów, a niektóre z nich sugerują bardziej formalny model MVC (???).

Byłoby świetnie, gdyby ktoś pomógł mi rozwiązać tę zagadkę, a jeśli masz dobry przykład na skonfigurowanie kontrolera w Node.js + Express, to będzie świetnie!

Dzięki

Odpowiedz

98

Jedną z fajnych rzeczy Express (a węzeł w ogóle) to nie naciskać wiele opinii na ciebie; jednym z wad jest to, że nie wypiera się na tobie żadnych opinii. W ten sposób jesteś wolny (i wymagany!), Aby samemu utworzyć takie opinie (wzory).

W przypadku Express można zdecydowanie użyć wzorca MVC, a przewodnik obsługi trasy z pewnością może pełnić rolę kontrolera, jeśli sobie tego życzą - ale trzeba to ustawić w ten sposób. Doskonały przykład można znaleźć w Express examples folder, o nazwie mvc. Jeśli spojrzysz na lib/boot.js, możesz zobaczyć, jak skonfigurowano przykład, aby wymagać każdego pliku w katalogu controllers i generować trasy Express w locie w zależności od nazwy metod utworzonych na kontrolerach.

+0

Pierwszy akapit [tej całkiem mądrej odpowiedzi] (http://stackoverflow.com/a/12957755/444255) daje również dobre wyjaśnienie/rozróżnienie między tymi dwoma terminami. –