JavaScript: ExpressJS
Express.js, o simplement Express, és un framework web per a JavaScript: NodeJS, amb llicència MIT. Està dissenyat per construir aplicacions web i APIs.
Express és un framework de NodeJS per al desenvolupament d'aplicacions web i mòbils. Les següents són algunes de les característiques:
- Permet la creació de middleware per respondre a les peticions HTTP.
- Defineix una taula d'enrutament (MVC) que s'utilitza per dur a terme diferents accions basades en el mètode HTTP i URL.
- Permet representar dinàmicament pàgines HTML basat en el pas d'arguments a les plantilles.
Contingut
Instal·lació
Trobareu com s'instal·la amb npm al següent article: JavaScript: npmJS.
Exemple: Hola món!
Anem a crear l'aplicació més senzilla.
Arrancerà un servidor que escolta pel port 8888 per possibles connexions. L'app respon amb "Hola món!" si es demana la pàgina d'arrel. Per a qualsevol altra pàgina respon amb un error 404.
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hola món!');
})
var server = app.listen(8888, function () {
var host = server.address().address
var port = server.address().port
console.log("App d'example escoltant per http://%s:%s", host, port)
})
Evidentment, el port pot ser qualsevol lliure (no en ús al servidor).
Deseu el codi anterior a un fitxer anomenat "server.js" i executeu-lo amb:
$ node server.js
Al terminal veureu:
App d'example escoltant per http://0.0.0.0:8888
I si obriu a un navegador http://127.0.0.1:8888/ mostrarà el missatge de benvinguda en un entorn web.
Sol·licitud i resposta
Les aplicacions d'Express utilitzen una funció de callback que treballen amb paràmetres que són objectes response i request.
app.get('/', function (req, res) {
// --
})
- Objecte request: L'objecte de sol·licitud representa la petició HTTP i té propietats per a la cadena de petició de consulta, paràmetres, cos (body), capçaleres HTTP, etc.
- Objecte de resposta: L'objecte de resposta representa la resposta HTTP que una aplicació Express envia quan es fa una petició HTTP.
Podeu imprimir els objectes req i res que proporcionen una gran quantitat d'informació relacionada amb la sol·licitud i la resposta HTTP (galetes, sessions, URL, etc).
Enrutament bàsic
L'enrutament fa referència a com respon l'aplicació en funció de què és demana. El que es demana és un URI (o ruta) i un mètode de petició HTTP (GET, POST, etc).
Anem a afegir-li més funcionalitats al nostre programa d'exemple.
var express = require('express');
var app = express();
// respon amb "Hola mon" a la pàgina inicial
app.get('/', function (req, res) {
console.log("Petició GET per a la pàgina inicial");
res.send('Hola GET');
})
// respon una petició POST per a la pàgina inicial
app.post('/', function (req, res) {
console.log("Petició POST per a la pàgina inicial");
res.send('Hola POST');
})
// respon una petició DELETE per a la pàgina /del_user
app.delete('/del_user', function (req, res) {
console.log("Petició DELETE per /del_user");
res.send('Hola DELETE');
})
// respon una petició GET per a la pàgina /list_user
app.get('/list_user', function (req, res) {
console.log("Petició GET per /list_user");
res.send('Pàgina de llistat');
})
// respon una petició GET per abcd, abxcd, ab123cd, etc
app.get('/ab*cd', function(req, res) {
console.log("Petició GET per /ab*cd");
res.send('Pàgina de coincidiència amb al patró');
})
var server = app.listen(8888, function () {
var host = server.address().address
var port = server.address().port
console.log("App d'exemple app escoltant per http://%s:%s", host, port)
})