1) Express.js là gì?
Express.js là một khung công tác Node.js. Đây là khung phổ biến nhất cho đến nay (được gắn nhiều sao nhất trên NPM).
.
Nó được xây dựng dựa trên cấu hình và sự đơn giản chi tiết của phần mềm trung gian Connect. Một số người so sánh Express.js với Ruby Sinatra so với Ruby on Rails cồng kềnh và cố chấp.
2) Mục đích của nó với Node.js là gì?
Bạn không cần phải lặp đi lặp lại cùng một đoạn mã. Node.js là một cơ chế I / O cấp thấp có một mô-đun HTTP. Nếu bạn chỉ sử dụng mô-đun HTTP, rất nhiều công việc như phân tích cú pháp tải trọng, cookie, lưu trữ các phiên (trong bộ nhớ hoặc trong Redis), việc chọn mẫu tuyến phù hợp dựa trên biểu thức chính quy sẽ có được thực hiện lại. Với Express.js, bạn chỉ cần sử dụng.
3) Tại sao chúng ta thực sự cần Express.js? Nó hữu ích như thế nào đối với chúng tôi khi sử dụng với Node.js?
Câu trả lời đầu tiên sẽ trả lời câu hỏi của bạn. Nếu không, hãy thử viết một máy chủ REST API nhỏ trong Node.js thuần túy (nghĩa là chỉ sử dụng các mô-đun lõi) và sau đó trong Express.js. Sau đó, bạn sẽ mất 5-10 lần thời gian và dòng mã.
Redis là gì? Nó có đi kèm với Express.js không?
Redis là nơi lưu trữ khóa-giá trị liên tục nhanh chóng. Bạn có thể tùy chọn sử dụng nó để lưu trữ các phiên với Express.js, nhưng bạn không cần phải làm như vậy. Theo mặc định, Express.js có bộ nhớ lưu trữ cho các phiên. Redis cũng có thể được sử dụng cho các công việc xếp hàng, ví dụ:công việc gửi email.
Xem hướng dẫn của tôi về máy chủ REST API với Express.js.
MVC nhưng không tự nó
Express.js không một khung mô hình-khung nhìn-bộ điều khiển của chính nó. Bạn cần đưa các thư viện ánh xạ quan hệ đối tượng của riêng mình như Mongoose cho MongoDB, Sequelize (http://sequelizejs.com) cho cơ sở dữ liệu SQL, Waterline (https://github.com/balderdashy/waterline) cho nhiều cơ sở dữ liệu vào ngăn xếp.
Các lựa chọn thay thế
Các khung công tác Node.js khác cần xem xét (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):
CẬP NHẬT:Tôi đã tổng hợp tài nguyên này để hỗ trợ mọi người trong việc chọn các khung Node.js:http://nodeframework.com
CẬP NHẬT2:Chúng tôi đã thêm một số thống kê GitHub vào nodeframework.com để bây giờ bạn có thể so sánh mức độ bằng chứng xã hội (GitHub sao) cho hơn 30 khuôn khổ trên một trang.
Toàn bộ:
-
http://sailsjs.org
-
http://derbyjs.com/
API chỉ REST:
- http://mcavage.github.io/node-restify/
Ruby on Rails như:
-
http://railwayjs.com/
-
http://geddyjs.org/
Sinatra như:
- http://expressjs.com/
Khác:
-
http://flatironjs.org/
-
https://github.com/isaacs/npm-www
-
http://frisbyjs.com/
Phần mềm trung gian:
- http://www.senchalabs.org/connect/
Trình tạo trang web tĩnh:
-
http://docpad.org
-
https://github.com/jnordberg/wintersmith
-
http://blacksmith.jit.su/
-
https://github.com/felixge/node-romulus
-
https://github.com/caolan/petrify