2012-06-18 13 views
75

Neu bei Node.js und Express, ich versuche zu verstehen, die beiden scheint sich überschneidende Konzepte, Routen vs Controller.Node.js + Express: Routen vs Controller

Ich habe Beispiele gesehen, dass einfach tut apps.js + routes/*, dies scheint ausreichend zu sein, um verschiedene Anfragen zu routen.

Allerdings sehe ich auch Leute reden über die Verwendung von Controllern, und einige, die ein formeller MVC-Modell (???) impliziert.

Wäre toll, wenn jemand mir helfen kann, dieses Rätsel zu lösen, und wenn Sie ein gutes Beispiel für die Einrichtung von Controller in Node.js + Express Framework haben, wird das großartig!

Danke,

Antwort

98

Eine der kühlen Sachen über Express (und Knoten im Allgemeinen) ist es nicht viele Meinungen zum Ihnen nicht drücken; einer der Nachteile ist, dass es keine Meinungen über Sie drängt. Somit sind Sie frei (und erforderlich!), Solche Meinungen (Muster) selbst zu erstellen.

Im Fall von Express können Sie definitiv ein MVC-Muster verwenden, und ein Route-Handler kann sicherlich die Rolle eines Controllers übernehmen, wenn Sie dies wünschen - aber Sie müssen es so einrichten. Ein gutes Beispiel findet sich in der Express examples folder, genannt mvc. Wenn Sie sich lib/boot.js ansehen, können Sie sehen, wie sie das Beispiel eingerichtet haben, um jede Datei im Verzeichnis controllers zu benötigen, und die Express-Routen im laufenden Betrieb abhängig vom Namen der auf den Controllern erstellten Methoden generieren.

+0

Der erste Absatz von [diese ziemlich kluge Antwort] (http://stackoverflow.com/a/12957755/444255) gibt auch eine gute Erklärung/Unterscheidung zwischen den beiden Begriffen. –

Verwandte Themen