1) Wat is Express.js?
Express.js is een Node.js-framework. Het is tot nu toe het meest populaire framework (met de meeste sterren op NPM).
.
Het is opgebouwd rond configuratie en gedetailleerde eenvoud van Connect-middleware. Sommige mensen vergelijken Express.js met Ruby Sinatra versus de omvangrijke en eigenzinnige Ruby on Rails.
2) Wat is het doel ervan met Node.js?
Dat je niet steeds dezelfde code hoeft te herhalen. Node.js is een low-level I/O-mechanisme met een HTTP-module. Als je alleen een HTTP-module gebruikt, zal veel werk, zoals het ontleden van de payload, cookies, het opslaan van sessies (in het geheugen of in Redis), het selecteren van het juiste routepatroon op basis van reguliere expressies hebben opnieuw te implementeren. Met Express.js is het er gewoon voor jou om te gebruiken.
3) Waarom hebben we Express.js eigenlijk nodig? Hoe is het nuttig voor ons om Node.js te gebruiken?
Het eerste antwoord zou uw vraag moeten beantwoorden. Zo nee, probeer dan een kleine REST API-server te schrijven in gewone Node.js (dat wil zeggen, met alleen kernmodules) en vervolgens in Express.js. Dit laatste kost je 5-10x minder tijd en regels code.
Wat is Redis? Komt het met Express.js?
Redis is een snelle, persistente sleutelwaardeopslag. Je kunt het optioneel gebruiken voor het opslaan van sessies met Express.js, maar dat hoeft niet. Express.js heeft standaard geheugenopslag voor sessies. Redis kan ook worden gebruikt voor taken in de wachtrij, bijvoorbeeld e-mailtaken.
Bekijk mijn tutorial over REST API-server met Express.js.
MVC maar niet op zichzelf
Express.js is niet een model-view-controller-framework op zich. U moet uw eigen object-relationele mappingbibliotheken zoals Mongoose voor MongoDB, Sequelize (http://sequelizejs.com) voor SQL-databases, Waterline (https://github.com/balderdashy/waterline) voor veel databases in de stapel.
Alternatieven
Andere Node.js-frameworks om te overwegen (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):
UPDATE:ik heb deze bron samengesteld die mensen helpt bij het kiezen van Node.js-frameworks:http://nodeframework.com
UPDATE2:We hebben enkele GitHub-statistieken toegevoegd aan nodeframework.com, dus nu kun je het niveau van sociaal bewijs (GitHub-sterren) voor 30+ frameworks op één pagina vergelijken.
Volledige stapel:
-
http://sailsjs.org
-
http://derbyjs.com/
Gewoon REST API:
- http://mcavage.github.io/node-restify/
Ruby on Rails zoals:
-
http://railwayjs.com/
-
http://geddyjs.org/
Sinatra houdt van:
- http://expressjs.com/
Anders:
-
http://flatironjs.org/
-
https://github.com/isaacs/npm-www
-
http://frisbyjs.com/
Middleware:
- http://www.senchalabs.org/connect/
Statische site generatoren:
-
http://docpad.org
-
https://github.com/jnordberg/wintersmith
-
http://blacksmith.jit.su/
-
https://github.com/felixge/node-romulus
-
https://github.com/caolan/petrify