Tôi là một người học trong Node.js .
- Express.js là gì?
- Mục đích của nó với Node.js là gì?
- Tại sao chúng ta thực sự cần Express.js? Làm thế nào hữu ích cho chúng tôi sử dụng với Node.js?
- Redis là gì? Nó có đi kèm với Express.js không?
Tôi là một người học trong Node.js .
Câu trả lời:
Đây là quá đơn giản hóa nó, nhưng Express.js là Node.js gì Ruby on Rails hoặc Sinatra là của Ruby .
Express 3.x là một khung ứng dụng web nhẹ để giúp tổ chức ứng dụng web của bạn thành một kiến trúc MVC ở phía máy chủ. Bạn có thể sử dụng nhiều lựa chọn cho ngôn ngữ tạo khuôn mẫu của mình (như EJS , Jade và Dust.js ).
Sau đó, bạn có thể sử dụng cơ sở dữ liệu như MongoDB với Mongoose (để tạo mô hình) để cung cấp phụ trợ cho ứng dụng Node.js của bạn. Express.js về cơ bản giúp bạn quản lý mọi thứ, từ các tuyến đường, đến xử lý các yêu cầu và chế độ xem.
Redis là một kho lưu trữ khóa / giá trị - thường được sử dụng cho các phiên và bộ đệm trong các ứng dụng Node.js. Bạn có thể làm nhiều hơn với nó, nhưng đó là những gì tôi đang sử dụng nó cho. Tôi sử dụng MongoDB cho các mối quan hệ phức tạp hơn, như mục hàng <-> thứ tự <-> mối quan hệ người dùng. Có các mô-đun (đáng chú ý nhất là kết nối-redis) sẽ hoạt động với Express.js. Bạn sẽ cần cài đặt cơ sở dữ liệu Redis trên máy chủ của mình.
Đây là liên kết đến hướng dẫn Express 3.x: https://expressjs.com/en/3x/api.html
1) Express.js là gì?
Express.js là một khung công tác Node.js. Đó là khung phổ biến nhất hiện nay (được gắn sao nhiều nhất trên NPM).
.
Nó được xây dựng xung quanh cấu hình và tính đơn giản chi tiết của Connect middleware. 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à gây tranh cãi .
2) Mục đích của nó với Node.js là gì?
Rằng bạn không phải lặp đi lặp lại cùng một mã. Node.js là một cơ chế I / O cấp thấp có 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 tải trọng, cookie, lưu trữ phiên (trong bộ nhớ hoặc trong Redis ), việc chọn mẫu tuyến đường phù hợp dựa trên biểu thức thông thường sẽ phải được triển khai lại. Với Express.js, nó chỉ ở đó để bạn sử dụng.
3) Tại sao chúng ta thực sự cần Express.js? Làm thế nào hữu ích cho chúng tôi 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, thì hãy thử viết một máy chủ API REST nhỏ trong Node.js đơn giản (nghĩa là chỉ sử dụng các mô-đun lõi) và sau đó trong Express.js. Cái sau sẽ đưa bạn ít hơn 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à một lưu trữ khóa-giá trị liên tục nhanh chóng. Bạn có thể tùy ý sử dụng nó để lưu trữ các phiên với Express.js, nhưng bạn không cần. 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ác công việc email.
Hãy xem hướng dẫn của tôi về máy chủ API REST với Express.js .
MVC nhưng không phải bởi chính nó
Express.js không phải là khung công tác mô hình-khung nhìn-trình điều khiển. Bạn cần phải mang theo đối tượng quan hệ riêng thư viện bản đồ của bạn như Mongoose cho MongoDB, Sequelize ( http://sequelizejs.com ) cho cơ sở dữ liệu SQL, mực nước ( https://github.com/balderdashy/waterline ) đối với nhiều cơ sở dữ liệu vào cây rơm.
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ập hợp tài nguyên này để hỗ trợ mọi người trong việc chọn các khung công tác Node.js: http://nodeframework.com
CẬP NHẬT2: Chúng tôi đã thêm một số thống kê GitHub vào gật đầu, vì vậy bây giờ bạn có thể so sánh mức độ bằng chứng xã hội (sao GitHub) cho hơn 30 khung trên một trang.
Đầy đủ ngăn xếp:
Chỉ cần API REST:
Ruby on Rails như:
Sinatra thích:
Khác:
Middleware:
Trình tạo trang tĩnh:
module
khá thường xuyên. Khung bên trong một khung là một chút tin tức với tôi.
Express.js là khung máy chủ ứng dụng web Node.js, được thiết kế để xây dựng các ứng dụng web đơn, nhiều trang và lai. Đây là khung máy chủ chuẩn thực tế cho node.js.
Các khung được xây dựng trên Express.
Một số khung công tác Node.js phổ biến được xây dựng trên Express:
LoopBack: Khung Node.js mã nguồn mở, có khả năng mở rộng cao để nhanh chóng tạo các API REST đầu cuối động.
Sails: Khung MVC cho Node.js để xây dựng các ứng dụng thực tế, sẵn sàng sản xuất.
Kraken: Lớp bảo mật và có thể mở rộng giúp mở rộng Express bằng cách cung cấp cấu trúc và quy ước.
MEAN: Khung JavaScript fullstack được đề xuất giúp đơn giản hóa và tăng tốc phát triển ứng dụng web.
Express thêm định tuyến đơn giản và hỗ trợ cho phần mềm trung gian Connect, cho phép nhiều tiện ích mở rộng và các tính năng hữu ích.
Ví dụ,
Tôi không thể súc tích hơn thế này. Đối với tất cả các nhu cầu và thông tin khác của bạn, Google là bạn của bạn.
ExpressJS là bare-bones ứng dụng web framework trên đầu trang của NodeJS.
Nó có thể được sử dụng để xây dựng WebApps, API RESTFUL, v.v.
Hỗ trợ nhiều công cụ mẫu như Jade, EJS.
ExpressJS chỉ giữ một chức năng tối giản là các tính năng cốt lõi và do đó không có ORM hoặc DB được hỗ trợ như mặc định. Nhưng với một chút nỗ lực, các ứng dụng expressjs có thể được tích hợp với các cơ sở dữ liệu khác nhau.
Để biết hướng dẫn bắt đầu về cách tạo ứng dụng ExpressJS, hãy xem liên kết sau:
Express là khung mô-đun cho Node mà bạn có thể sử dụng cho các ứng dụng dựa trên máy chủ sẽ "lắng nghe" cho bất kỳ yêu cầu đầu vào / kết nối nào từ máy khách. Khi bạn sử dụng nó trong Node, nó chỉ nói rằng bạn đang yêu cầu sử dụng tệp Express tích hợp từ các mô-đun Node của bạn.
Express là "xương sống" của rất nhiều Ứng dụng web có mặt sau của chúng trong NodeJS. Từ những gì tôi biết, tài sản chính của nó là sự cung cấp của một hệ thống định tuyến xử lý các dịch vụ "tương tác" giữa 2 máy chủ. Có rất nhiều lựa chọn thay thế cho nó, chẳng hạn như Sails.
Express.js là một khung được sử dụng cho Node và nó được sử dụng phổ biến nhất như là một ứng dụng web cho nút js.
Đây là liên kết đến video về cách nhanh chóng thiết lập ứng dụng nút với express https://www.youtube.com/watch?v=QEcuSSnqvck
Express.js được tạo bởi TJ Holowaychuk và hiện được quản lý bởi cộng đồng. Đây là một trong những khung công tác phổ biến nhất trong node.js. Express cũng có thể được sử dụng để phát triển các sản phẩm khác nhau như ứng dụng web hoặc API RESTful. Để biết thêm thông tin, vui lòng đọc trên trang web chính thức của expressjs.com.