Heim >Web-Frontend >js-Tutorial >Studienführer für Segel Framework_node.js

Studienführer für Segel Framework_node.js

WBOY
WBOYOriginal
2016-05-16 16:25:001591Durchsuche

Letzte Woche bin ich durch den Aufbau eines CMS-Systems mit dem Sails-Framework in Kontakt gekommen und habe einige ORM-Konzepte gelernt. Diese Woche habe ich begonnen, mich mit der Hintergrunddateninteraktion zu befassen und festgestellt, dass die Datenstruktur des Zwanzig-Frameworks auf Segeln basiert (z. B. Knoten und Kategorie). Ich muss sagen, dass mein Senior wirklich großartig ist. Allerdings hat auch die Komplexität zugenommen. Meine Aufgabe im DTree-Projekt besteht darin, mithilfe von Segeln mit Geschäftsprozessen und Datenbanken zu interagieren. Der Rest der Woche steht ganz im Zeichen des Segelns.

Einführung in Segel

Sails ist wie Ruby on Rails ein Framework, das die Webentwicklung einfacher machen soll. Soweit ich weiß, erbt es in diesem Zeitraum einige APIs von Express&Socket.io vollständig und verwendet Waterline (ORM) für eine einheitliche Datenbankinteraktion, sodass CRUD-Vorgänge in verschiedenen Datenbankumgebungen durchgeführt werden können, ohne den Code und das Backbone direkt zu ändern Das Framework synchronisiert Front-End- und Back-End-Daten und verwendet Richtlinien-Middleware zur sicheren Überprüfung und Interaktion. Seine eigenen Blaupausen können über die RESTfull-API mit Daten interagieren, ohne eine einzige Zeile im Front-End und Back-End zu programmieren.

Socket.io & Express

Ich habe diese beiden Dinge während der Front-End-Zeit gelernt: Das eine ist die Websock-Kommunikation und das andere die Verarbeitung von HTTP-Anfragen. Sails hat es nicht neu entworfen, sondern diese beiden Tools direkt verwendet, um diese Funktionen zu verwalten, was die Lernkosten erheblich reduziert hat. Socket.io löst Nachrichten sowohl auf der Server- als auch auf der Clientseite aus, lauscht auf Nachrichten und handelt entsprechend.

Code kopieren Der Code lautet wie folgt:

`
//Serverseite
io.sockets.on("connection", function(sock){
sock.emit("normalMessage",{a:"c"});
});
//Kundendienst
sock.on("normalMessage", function(json){...});
`

Die Rolle von Express liegt in Routing-Operationen wie app.get('/login', function(req, res){});.
Segelpläne und Rückgrat
In der Webentwicklung ist CRUD eine Art ähnlicher Operation, z. B. Get/Post in http und Select/Insert in der Datenbank. Die Blueprint-API von Sails und das Backbone-Framework von JS verwenden beide eine einheitliche Funktion (z. B. findOne), sodass die interne Logik bereits eingerichtet ist, wenn das Programm das Modell und den entsprechenden Controller erstellt. Beispielsweise verfügt das bei Segeln häufig verwendete Benutzermodell über einen selbstgebauten Controller zur Übertragung und Speicherung von Benutzerdaten. Wir müssen lediglich auf die Angabe von Dateinamen und Geschäftsprozessen achten. Wenn Sie die ursprüngliche Methode überschreiben (überladen) möchten, ist dies ebenfalls möglich. Nachdem wir die Aktion und den Controller in den Routen im Konfigurationsordner festgelegt haben, können wir die benötigten Funktionen im entsprechenden Controller hinzufügen.

Wasserlinie
Die API von Sails, ein Abhängigkeitspaket, wird für die Interaktion mit der Datenbank verwendet, z. B. create(), findOne(), update() usw. Wie bereits erwähnt, können wir diese Methoden direkt aufrufen, ohne uns um verschiedene Datenbanktools kümmern zu müssen. Zum Beispiel bei der Eingabe von Daten

Code kopieren Der Code lautet wie folgt:

`
Users.create({Benutzername: Benutzername, Passwort: Passwort}).exec(function(error, user) {
if (Fehler) {
res.send(500, {error: „DB Error“});
} sonst {
req.session.user = Benutzer;
res.send(user);
}
`

Das System verwendet standardmäßig das lokale Dateisystem, um Daten zu speichern. Wenn wir MySQL oder MongoDB wählen müssen. Ändern Sie es einfach in der Konfigurationsdatei und wählen Sie den Adapter der Datenbank aus, der mit den Daten interagieren soll.

Richtlinien

Middleware wird auf dem Controller angewendet und ausgeführt, bevor die http-Anfrage ausgegeben wird. Es kann eine Identitätskontrolle implementiert werden, sodass Sie beispielsweise erst nach dem Anmelden nächste Aktionen ausführen können.

Code kopieren Der Code lautet wie folgt:

`
if(req.session.user){
var action = req.options.action;
If(action == "create"){
req.body.userId = req.session.user.id;
           req.body.username = req.session.user.username;
}
next();
}else{
res.send("Sie müssen angemeldet sein", 403);
}
`
weiter

Sails wurde erfolgreich eingesetzt, es muss jedoch noch daran gearbeitet werden. Nur wenn wir ein solides Fundament legen, können wir spezifische Bedürfnisse erfüllen. Ich muss also weiter lernen, mehr Routinen finden, um das Segeln eingehend zu erlernen, und auch die Grenzen dieses Frameworks kennen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn