Esta semana, el proyecto se realizó disperso (debería decirse que siempre ha sido así). El resumen debe ser doble basado en diferentes situaciones ~ Este artículo registra el resumen de aprendizaje sobre el nodo, y el siguiente artículo es el conocimiento sobre el front-end de la web aprendida del proyecto.
1. Http
El módulo HTTP del nodo se expuso en el primer artículo. Aquí aprenderemos las API que aparecen en varias rutinas.
La copia del código es la siguiente:
var qs = require ('QueryString');
requirir ('http'). CreateServer (function (req, res) {
if ('/' == req.url) {
res.Writehead (200, {'Content-type': 'Text/html'});
res.end ([
'<Form Method = "Post" Action = "/Url">',
'<h1> mi forma </h1>',
'<fieldset>',
'<label> Información personal </elabel>',
'<p> ¿Cuál es tu nombre? </p>',
'<input type = "text" name = "name">',
'<p> <boton> enviar </boton> </p>',
'</form>',
].unirse(''));
} else if ('/url' == req.url && 'post' == req.method) {
var cuerpo = '';
req.on ('data', function (chunk) {
cuerpo += fragmento;
});
req.on ('end', function () {
res.Writehead (200, {'Content-type': 'Text/html'});
res.end ('<b> su nombre es <b>' + Qs.parse (cuerpo) .name + '</b> </p>');
});
}demás{
Res.Writehead (404);
res.end ('no encontrado');
}
}). Escuchar (3000);
El parámetro de la función CreateServer ([RequestListener]) es una función de función de devolución de llamada (REQ, RES), donde Req (solicitud de solicitud) es una instancia de http.incomingMessage, y Res (respuesta) es una instancia de http.serverrrrsponse.
Utilizamos la URL, la cadena de método de RES y dos métodos Writehead y End. Como su nombre lo indica, la URL es la URL que registra HTTP (todo después del nombre de host), y el método es el método que registra la respuesta HTTP.
Writehead (statuscode, [razonphrase], [encabezados]) se usa para enviar una información de encabezado de respuesta HTTP. Este método se llama solo una vez cuando llega el mensaje y debe llamarse antes de un método como el final. Si lo hace en su lugar, llame al método Write (Fragm, [Coding] o End ([Data], [Coding]) primero, el sistema registrará automáticamente un contenido del encabezado de respuesta (invisible, inmutable) y llamará al método de Writehead.
El método final enviará un mensaje al servidor para indicar que la respuesta se envía, por lo que este método debe llamarse cada vez que se envíe la respuesta. Cuando sus parámetros tienen contenido (como rutinas), este método es equivalente a llamar a los métodos de escritura ('contenido', [codificación]) y final. Esto es bastante conveniente.
A continuación, la rutina usa req.on para escuchar eventos y vincular a REQ (mensaje). Su prototipo es emitter.on (evento, oyente), REQ es el objeto que genera eventos, y en la función de escucha esto apunta al objeto EventEmister asociado con la función de escucha actual.