1) Che cos'è Express.js?
Express.js è un framework Node.js. È il framework più popolare al momento (il più apprezzato su NPM).
.
È costruito attorno alla configurazione e alla semplicità granulare del middleware Connect. Alcune persone confrontano Express.js con Ruby Sinatra rispetto all'ingombrante e supponente Ruby on Rails.
2) Qual è lo scopo di Node.js?
Che non devi ripetere lo stesso codice più e più volte. Node.js è un meccanismo di I/O di basso livello che ha un modulo HTTP. Se utilizzi solo un modulo HTTP, molto lavoro come l'analisi del payload, i cookie, la memorizzazione di sessioni (in memoria o in Redis), la selezione del modello di percorso corretto basato su espressioni regolari avrà da re-implementare. Con Express.js, puoi usarlo solo per te.
3) Perché abbiamo effettivamente bisogno di Express.js? In che modo è utile utilizzarlo con Node.js?
La prima risposta dovrebbe rispondere alla tua domanda. In caso negativo, prova a scrivere un piccolo server API REST in Node.js semplice (ovvero, utilizzando solo i moduli principali) e quindi in Express.js. Quest'ultimo richiederà 5-10 volte meno tempo e righe di codice.
Cos'è Redis? Viene fornito con Express.js?
Redis è uno storage chiave-valore persistente veloce. Puoi utilizzarlo facoltativamente per archiviare sessioni con Express.js, ma non è necessario. Per impostazione predefinita, Express.js dispone di memoria per le sessioni. Redis può essere utilizzato anche per mettere in coda lavori, ad esempio lavori via e-mail.
Dai un'occhiata al mio tutorial sul server API REST con Express.js.
MVC ma non da solo
Express.js non un framework model-view-controller da solo. Devi portare le tue librerie di mappatura relazionali a oggetti come Mongoose per MongoDB, Sequelize (http://sequelizejs.com) per database SQL, Waterline (https://github.com/balderdashy/waterline) per molti database nel pila.
Alternative
Altri framework Node.js da considerare (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):
AGGIORNAMENTO:ho messo insieme questa risorsa che aiuta le persone nella scelta dei framework Node.js:http://nodeframework.com
AGGIORNAMENTO2:Abbiamo aggiunto alcune statistiche GitHub a nodeframework.com, quindi ora puoi confrontare il livello di prova sociale (stelle GitHub) per oltre 30 framework su una pagina.
Pila completa:
-
http://sailsjs.org
-
http://derbyjs.com/
Solo API REST:
- http://mcavage.github.io/node-restify/
Ruby on Rails come:
-
http://railwayjs.com/
-
http://geddyjs.org/
Sinatra piace:
- http://expressjs.com/
Altro:
-
http://flatironjs.org/
-
https://github.com/isaacs/npm-www
-
http://frisbyjs.com/
Middleware:
- http://www.senchalabs.org/connect/
Generatori di siti statici:
-
http://docpad.org
-
https://github.com/jnordberg/wintersmith
-
http://blacksmith.jit.su/
-
https://github.com/felixge/node-romulus
-
https://github.com/caolan/petrify