müssen express.js controller oop Tipps
Ich bin Neuling in der web-Entwicklung entwickelt haben und ein web-server mit node und express. Ich habe verwendet, MVC-Muster, mit Modellen, die sequelizejs Objekte. Aber, für meine Controller, dir wenig bis gar kein OOP aktuell und ich würde gerne wissen, einige OO-Schreibweise-Controller anstatt mit anonymen Funktionen, um Anfragen zu bedienen:
app.get('/test',function(req,res){})
Vielleicht kann ich Objekte erstellen, für jede route über die URL und das Modell als Eigenschaften und Methoden, die HTTP-Verben:
//Use test.model for interacting with model
app.get(test.URL,test.get);
app.post(test.URL,test.post);
app.put(test.URL,test.put);
app.patch(test.URL,test.patch);
app.delete(test.URL,test.delete);
Aber, es sieht aus wie overkill, da die meisten/alle controller-Objekte, die auf diese Weise am Ende wird die singletons mit keine Vererbung, Polymorphie und Wiederverwendung.
Frage: gibt es eine bessere OO Art zu schreiben-Controller ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie eine controller-Klasse, wo der Konstruktor einen express-Objekt, das einrichten von Routen für Sie. Dies ist ein Beispiel base
Controller
Klasse:Und erstellen Sie dann eine
Users
controller, der sich von derController
"class":Sobald Sie haben alle die entsprechenden Controller deklariert und definiert, können Sie mit der Umsetzung beginnen, die Sie dann auf Ihre ausdrückliche app.
P. S.: Für die express-Aufrufe im Konstruktor, es ist ein weiterer Weg, um Ihre
create
,read
,update
,delete
Strecken (und alle anderen Routen). Ich wollte einfach nicht, Sie zu verwirren zunächst.app
übergeben wird, an den controller mitmodule.exports
?Ich geschrieben habe, ein einfaches Beispiel in Maschinenschrift, die zeigt, wie schreibt man einen controller für eine express-Anwendung, mit der objektorientierten Programmierung in den Sinn. Es kann leicht angewendet werden, um ES6:
Server.ts
CategoryController.ts
Nicht wirklich die Antwort, aber ich erstellt einen Knoten Modul-handle automatisch einrichten-express-Routen.
Dynamic-Routen
dann
Einer Art und Weise zu organisieren express in eine OOP-Weise, ist die Verwendung eines bestehenden Rahmens, der das Gerüst für diese. sails.js ist die beliebteste MVC-framework für node heutzutage, und verwendet express.js für das routing.