1) Co to jest Express.js?
Express.js to framework Node.js. Jest to obecnie najpopularniejszy framework (najczęściej grany w NPM).
.
Opiera się na konfiguracji i szczegółowej prostocie oprogramowania pośredniczącego Connect. Niektórzy porównują Express.js do Ruby Sinatra z nieporęcznym i upartym Ruby on Rails.
2) Jaki jest cel tego w Node.js?
Że nie musisz w kółko powtarzać tego samego kodu. Node.js to niskopoziomowy mechanizm I/O, który posiada moduł HTTP. Jeśli używasz tylko modułu HTTP, dużo pracy, np. analizowanie ładunku, plików cookie, przechowywanie sesji (w pamięci lub w Redis), wybór odpowiedniego wzorca trasy na podstawie wyrażeń regularnych będzie do ponownego wdrożenia. Dzięki Express.js możesz z niego korzystać.
3) Dlaczego tak naprawdę potrzebujemy Express.js? Jak przydatne jest dla nas korzystanie z Node.js?
Pierwsza odpowiedź powinna odpowiadać na Twoje pytanie. Jeśli nie, spróbuj napisać mały serwer REST API w zwykłym Node.js (czyli używając tylko modułów podstawowych), a następnie w Express.js. To drugie zajmie Ci 5-10 razy mniej czasu i linii kodu.
Co to jest Redis? Czy jest dostarczany z Express.js?
Redis to szybka, trwała pamięć masowa klucz-wartość. Możesz opcjonalnie użyć go do przechowywania sesji z Express.js, ale nie musisz. Domyślnie Express.js ma pamięć masową na sesje. Redis może być również używany do kolejkowania zadań, na przykład zadań e-mail.
Sprawdź mój samouczek dotyczący serwera REST API z Express.js.
MVC, ale nie sam
Express.js nie sama struktura modelu-widoku-kontrolera. Musisz wprowadzić własne biblioteki mapowania obiektowo-relacyjnego, takie jak Mongoose dla MongoDB, Sequelize (http://sequelizejs.com) dla baz danych SQL, Waterline (https://github.com/balderdashy/waterline) dla wielu baz danych stos.
Alternatywy
Inne frameworki Node.js do rozważenia (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):
AKTUALIZACJA:Zebrałem ten zasób, który pomaga ludziom w wyborze frameworków Node.js:http://nodeframework.com
UPDATE2:Dodaliśmy trochę statystyk GitHub do nodeframework.com, więc teraz możesz porównać poziom dowodu społecznościowego (gwiazdki GitHub) dla ponad 30 frameworków na jednej stronie.
Pełny stos:
-
http://sailsjs.org
-
http://derbyjs.com/
Tylko REST API:
- http://mcavage.github.io/node-restify/
Ruby on Rails, takie jak:
-
http://railwayjs.com/
-
http://geddyjs.org/
Sinatra jak:
- http://expressjs.com/
Inne:
-
http://flatironjs.org/
-
https://github.com/isaacs/npm-www
-
http://frisbyjs.com/
Oprogramowanie pośredniczące:
- http://www.senchalabs.org/connect/
Generatory stron statycznych:
-
http://docpad.org
-
https://github.com/jnordberg/wintersmith
-
http://kowalski.jit.su/
-
https://github.com/felixge/node-romulus
-
https://github.com/caolan/petrify