Diese Woche wurde das Projekt verstreut (es sollte gesagt werden, dass es immer so war). Die Zusammenfassung sollte auf der Grundlage verschiedener Situationen doppelt geöffnet werden. In diesem Artikel wird die Lernzusammenfassung über den Knoten aufgezeichnet, und der nächste Artikel ist das Wissen über das Front-End des Webs, das aus dem Projekt gelernt wurde.
1. Http
Das HTTP -Knotenmodul wurde im ersten Artikel freigelegt. Hier lernen wir die APIs, die in mehreren Routinen erscheinen.
Die Codekopie lautet wie folgt:
var qs = require ('queryString');
fordern ('http'). createServer (function (req, res) {
if ('/' == req.url) {
res.writeHead (200, {'content-type': 'text/html'});
res.end ([
'<form method = "post" action = "/url">',
'<h1> meine Form </h1>',
'<Fieldset>',
'<Label> Persönliche Informationen </label>',
'<p> Wie heißt du? </p>',
'<Eingabe type = "text" name = "name">',
'<p> <button> Senden </button> </p>',
'</form>',
].verbinden(''));
} else if ('/url' == req.url && 'post' == req.method) {
var body = '';
req.on ('Daten', Funktion (Chunk) {
Körper += Chunk;
});
req.on ('end', function () {
res.writeHead (200, {'content-type': 'text/html'});
res.end ('<b> Ihr Name ist <b>' + qs.Parse (Körper) .Name + '</b> </p>');
});
}anders{
Res.WriteHead (404);
res.end ('nicht gefunden');
}
}). Hören (3000);
Der Parameter der Funktion createServer ([requestListener]) ist eine Rückruffunktion (Req, Res), wobei Req (Request Request) eine Instanz von http.incomingMessage ist, und Res (Antwort) ist eine Instanz von http.serverrrsponse.
Wir haben die URL-, Methodenzeichenfolge von Res und Two Method Writhead und End verwendet. Wie der Name schon sagt, ist URL die URL, die HTTP (alles nach dem Hostnamen) aufzeichnet, und die Methode ist die Methode, die die HTTP -Antwort aufzeichnet.
WriteShead (StatusCode, [Reasonphrase], [Header]) wird verwendet, um eine HTTP -Antwort -Header -Informationen zu senden. Diese Methode wird nur einmal aufgerufen, wenn die Nachricht eintrifft und vor einer Methode wie Ende aufgerufen werden muss. Wenn Sie dies stattdessen tun, rufen Sie die Methode "Schreib- (Chunk, [Codierung]) oder Ende ([Daten], [Codierung]).
Die Endmethode sendet eine Nachricht an den Server, um anzuzeigen, dass die Antwort gesendet wird. Daher muss diese Methode jedes Mal aufgerufen werden, wenn die Antwort gesendet wird. Wenn seine Parameter Inhalte haben (z. B. Routinen), entspricht diese Methode sowohl dem Aufrufen von Schreiben ("Inhalt", [Codierung]) und den Endmethoden. Das ist ziemlich bequem.
Als nächstes verwendet die Routine Req.on, um auf Ereignisse zu hören und an REQ (Nachricht) zu binden. Sein Prototyp ist Emitter.on (Ereignis, Listener), REQ ist das Objekt, das Ereignisse generiert, und in der Hörfunktion zeigt dies auf das EventEmitter -Objekt, das der aktuellen Hörfunktion zugeordnet ist.