Như bạn đã thấy ở trên, liệu Node.js cung cấp cho bạn một chức năng yêu cầu xử lý để làm việc với.
Các yêu cầu đi vào chức năng của bạn và phản ứng đi ra khỏi chức năng của bạn.
Middleware là kém tên, nhưng nó là một thuật ngữ không Thể hiện cụ thể và có được
khoảng một thời gian. Ý tưởng là khá đơn giản: thay vì hơn một chức năng yêu cầu xử lý nguyên khối, bạn gọi một số chức năng yêu cầu xử lý mà mỗi đối phó với một nhỏ
đoạn của công việc. Các chức năng xử lý yêu cầu nhỏ hơn được gọi là chức năng trung gian, hoặc trung gian.
Middleware có thể xử lý các tác vụ từ yêu cầu đăng nhập để gửi các file tĩnh để thiết lập
tiêu đề HTTP. Các chức năng trung gian đầu tiên bạn có thể sử dụng trong một ứng dụng là một logger-nó ghi mọi yêu cầu mà đi vào máy chủ của bạn. Khi logger đã hoàn thành
khai thác gỗ, nó sẽ tiếp tục đến các trung gian tiếp theo trong chuỗi. Trung gian tiếp theo này
chức năng có thể xác thực người dùng. Nếu họ đang truy cập một URL bị cấm, nó sẽ phản ứng
với một trang "không được phép". Nếu họ được phép truy cập vào nó, họ có thể tiếp tục các
chức năng tiếp theo trong chuỗi. Các chức năng sau có thể gửi trang web và được thực hiện.
Một minh họa cho hai lựa chọn có thể được thể hiện trong hình 1.4.
Trong hình 1.4, trung khai thác gỗ là lần đầu tiên trong chuỗi và luôn được gọi, vì vậy
một cái gì đó sẽ luôn được ghi chú trong tập tin đăng nhập . Tiếp theo, các trung khai thác gỗ vẫn tiếp tục
kế tiếp trong chuỗi, các trung gian cho phép. Các trung gian uỷ quyền quyết định, bởi một số nghị định, cho dù người dùng được phép để tiếp tục đi. Nếu họ
đang có, những tín hiệu cho phép trung gian mà nó muốn tiếp tục đi đến các trung gian tiếp theo trong chuỗi. Nếu không, middleware gửi một "bạn không được phép!"
Nhắn cho người sử dụng và ngừng chuỗi. (Thông báo này có thể là một trang HTML hoặc một
phản ứng JSON hoặc bất cứ điều gì khác, tùy thuộc vào ứng dụng.) Các trung gian cuối cùng, nếu nó được gọi là, sẽ gửi thông tin bí mật và không tiếp tục bất kỳ trung gian hơn nữa
trong chuỗi. (Một lần nữa, middleware cuối cùng này có thể gửi bất kỳ loại phản ứng, từ
HTML sang JSON vào một tập tin hình ảnh.)
Một trong những tính năng lớn nhất của trung là nó là tương đối chuẩn, mà
có nghĩa là rất nhiều người đã phát triển trung gian cho Express (bao gồm cả folks trên
đội Express). Điều đó có nghĩa rằng nếu bạn có thể ước mơ lên các trung gian, một người nào đó
có lẽ đã làm cho nó. Có trung gian để biên dịch tài sản tĩnh như LESS
và SCSS; có trung gian để xác thực bảo mật và sử dụng; có trung gian
để phân tích các tập tin cookie và các buổi
đang được dịch, vui lòng đợi..
