1) Was ist Express.js?
Express.js ist ein Node.js-Framework. Es ist derzeit das beliebteste Framework (das mit den meisten Sternen auf NPM).
.
Es basiert auf der Konfiguration und granularen Einfachheit der Connect-Middleware. Einige Leute vergleichen Express.js mit Ruby Sinatra und dem sperrigen und rechthaberischen Ruby on Rails.
2) Was ist der Zweck von Node.js?
Dass Sie denselben Code nicht immer wieder wiederholen müssen. Node.js ist ein Low-Level-E/A-Mechanismus, der über ein HTTP-Modul verfügt. Wenn Sie nur ein HTTP-Modul verwenden, wird viel Arbeit wie das Analysieren der Nutzlast, Cookies, das Speichern von Sitzungen (im Speicher oder in Redis) und das Auswählen des richtigen Routenmusters basierend auf regulären Ausdrücken haben neu implementiert werden. Mit Express.js steht es Ihnen einfach zur Verfügung.
3) Warum brauchen wir eigentlich Express.js? Wie ist es für uns nützlich, es mit Node.js zu verwenden?
Die erste Antwort sollte Ihre Frage beantworten. Wenn nein, versuchen Sie, einen kleinen REST-API-Server in reinem Node.js (d. h. nur mit Kernmodulen) und dann in Express.js zu schreiben. Letzteres kostet Sie 5-10x weniger Zeit und Codezeilen.
Was ist Redis? Wird Express.js mitgeliefert?
Redis ist ein schneller persistenter Key-Value-Speicher. Sie können es optional zum Speichern von Sitzungen mit Express.js verwenden, müssen dies jedoch nicht. Standardmäßig verfügt Express.js über Arbeitsspeicher für Sitzungen. Redis kann auch zum Einreihen von Jobs in die Warteschlange verwendet werden, z. B. E-Mail-Jobs.
Sehen Sie sich mein Tutorial zum REST-API-Server mit Express.js an.
MVC, aber nicht allein
Express.js ist nicht ein Model-View-Controller-Framework für sich. Sie müssen Ihre eigenen objektrelationalen Zuordnungsbibliotheken wie Mongoose für MongoDB, Sequelize (http://sequelizejs.com) für SQL-Datenbanken, Waterline (https://github.com/balderdashy/waterline) für viele Datenbanken in die stapeln.
Alternativen
Andere zu berücksichtigende Node.js-Frameworks (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):
UPDATE:Ich habe diese Ressource zusammengestellt, die Menschen bei der Auswahl von Node.js-Frameworks hilft:http://nodeframework.com
UPDATE2:Wir haben einige GitHub-Statistiken zu nodeframework.com hinzugefügt, sodass Sie jetzt das Niveau der sozialen Beweise (GitHub-Sterne) für mehr als 30 Frameworks auf einer Seite vergleichen können.
Vollständiger Stapel:
-
http://sailsjs.org
-
http://derbyjs.com/
Nur REST-API:
- http://mcavage.github.io/node-restify/
Ruby on Rails wie:
-
http://railwayjs.com/
-
http://geddyjs.org/
Sinatra wie:
- http://expressjs.com/
Sonstiges:
-
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