Tạo một ứng dụng Express. Hàm
fn[res, path, stat]
53 là hàm cấp cao nhất được xuất bởi mô-đun fn[res, path, stat]
54const express = require['express']
const app = express[]
phương pháp
bày tỏ. json[[tùy chọn]]
Đây là một chức năng phần mềm trung gian tích hợp trong Express. Nó phân tích các yêu cầu đến bằng tải trọng JSON và dựa trên trình phân tích cú pháp nội dung
Trả về phần mềm trung gian chỉ phân tích cú pháp JSON và chỉ xem xét các yêu cầu có tiêu đề
fn[res, path, stat]
55 khớp với tùy chọn fn[res, path, stat]
56. Trình phân tích cú pháp này chấp nhận mọi mã hóa Unicode của nội dung và hỗ trợ lạm phát tự động mã hóa fn[res, path, stat]
57 và fn[res, path, stat]
58Đối tượng
fn[res, path, stat]
59 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng fn[res, path, stat]
60 sau phần mềm trung gian [i. e. fn[res, path, stat]
61] hoặc một đối tượng trống [fn[res, path, stat]
62] nếu không có nội dung để phân tích cú pháp, fn[res, path, stat]
55 không khớp hoặc xảy ra lỗiVì hình dạng của
fn[res, path, stat]
61 dựa trên đầu vào do người dùng kiểm soát, nên tất cả các thuộc tính và giá trị trong đối tượng này đều không đáng tin cậy và phải được xác thực trước khi tin cậy. Ví dụ: fn[res, path, stat]
65 có thể bị lỗi theo nhiều cách, chẳng hạn như fn[res, path, stat]
66 có thể không ở đó hoặc có thể không phải là một chuỗi và fn[res, path, stat]
67 có thể không phải là một hàm mà thay vào đó là một chuỗi hoặc đầu vào khác của người dùngBảng sau mô tả các thuộc tính của đối tượng tùy chọn
fn[res, path, stat]
68Thuộc tínhDescriptionTypeDefaultfn[res, path, stat]
69Cho phép hoặc vô hiệu hóa việc xử lý các phần tử [nén] bị xì hơi; . Booleanfn[res, path, stat]
70fn[res, path, stat]
71Kiểm soát kích thước cơ thể yêu cầu tối đa. Nếu đây là một số, thì giá trị chỉ định số byte; . Hỗn hợpfn[res, path, stat]
72fn[res, path, stat]
73Tùy chọn fn[res, path, stat]
73 được chuyển trực tiếp tới fn[res, path, stat]
75 làm đối số thứ hai. Bạn có thể tìm thêm thông tin về đối số này trong tài liệu MDN về JSON. phân tích cú pháp. Hàmfn[res, path, stat]
76____077Cho phép hoặc không cho phép chỉ chấp nhận mảng và đối tượng; . Booleanfn[res, path, stat]
70fn[res, path, stat]
56Điều này được sử dụng để xác định loại phương tiện mà phần mềm trung gian sẽ phân tích cú pháp. Tùy chọn này có thể là một chuỗi, mảng các chuỗi hoặc một hàm. Nếu không phải là một chức năng, tùy chọn fn[res, path, stat]
56 được chuyển trực tiếp đến thư viện loại là và đây có thể là tên mở rộng [như fn[res, path, stat]
82], loại kịch câm [như fn[res, path, stat]
83] hoặc loại kịch câm có ký tự đại diện [như fn[res, path, stat]
84 hoặc fn[res, path, stat]
85]. Nếu là một hàm, tùy chọn fn[res, path, stat]
56 được gọi là fn[res, path, stat]
87 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixedfn[res, path, stat]
88fn[res, path, stat]
89Tùy chọn này, nếu được cung cấp, được gọi là fn[res, path, stat]
90, trong đó fn[res, path, stat]
91 là một fn[res, path, stat]
92 của nội dung yêu cầu thô và fn[res, path, stat]
93 là mã hóa của yêu cầu. Việc phân tích cú pháp có thể bị hủy bỏ bằng cách đưa ra lỗi. Chức năng____094bày tỏ. tĩnh [gốc, [tùy chọn]]
Đây là một chức năng phần mềm trung gian tích hợp trong Express. Nó phục vụ các tệp tĩnh và dựa trên phục vụ-tĩnh
GHI CHÚ. Để có kết quả tốt nhất, hãy sử dụng bộ nhớ cache proxy ngược để cải thiện hiệu suất cung cấp nội dung tĩnh
Đối số
fn[res, path, stat]
95 chỉ định thư mục gốc để phục vụ nội dung tĩnh. Hàm xác định tệp sẽ phân phối bằng cách kết hợp fn[res, path, stat]
96 với thư mục fn[res, path, stat]
95 được cung cấp. Khi không tìm thấy tệp, thay vì gửi phản hồi 404, nó sẽ gọi fn[res, path, stat]
98 để chuyển sang phần mềm trung gian tiếp theo, cho phép xếp chồng và dự phòngBảng sau mô tả các thuộc tính của đối tượng
fn[res, path, stat]
68. Xem thêm ví dụ bên dướiThuộc tínhDescriptionTypeDefaultfn[res, path, stat]
800Xác định cách tệp dotfiles [tệp hoặc thư mục bắt đầu bằng dấu chấm “. ”] được xử lýXem dotfiles bên dưới
Chuỗi“bỏ qua”fn[res, path, stat]
801Bật hoặc tắt tạo etagGHI CHÚ.
fn[res, path, stat]
802 luôn gửi ETags yếuBooleanfn[res, path, stat]
70____4804Đặt dự phòng cho phần mở rộng tệp. Nếu không tìm thấy tệp, hãy tìm tệp có phần mở rộng được chỉ định và cung cấp tệp đầu tiên được tìm thấy. Thí dụ. fn[res, path, stat]
805. Mixedfn[res, path, stat]
806fn[res, path, stat]
807Cho phép các lỗi máy khách bỏ qua dưới dạng các yêu cầu chưa được xử lý, nếu không thì chuyển tiếp lỗi máy kháchXem dự phòng bên dưới
Booleanfn[res, path, stat]
70____4809Bật hoặc tắt chỉ thị fn[res, path, stat]
809 trong tiêu đề phản hồi fn[res, path, stat]
811. Nếu được bật, tùy chọn fn[res, path, stat]
812 cũng phải được chỉ định để bật bộ nhớ đệm. Chỉ thị fn[res, path, stat]
809 sẽ ngăn khách hàng được hỗ trợ thực hiện các yêu cầu có điều kiện trong suốt thời gian tồn tại của tùy chọn fn[res, path, stat]
812 để kiểm tra xem tệp đã thay đổi chưa. Booleanfn[res, path, stat]
806fn[res, path, stat]
816Gửi tệp chỉ mục thư mục được chỉ định. Đặt thành fn[res, path, stat]
806 để tắt lập chỉ mục thư mục. “chỉ số” hỗn hợp. html”fn[res, path, stat]
818Đặt tiêu đề fn[res, path, stat]
819 thành ngày sửa đổi cuối cùng của tệp trên HĐH. Booleanfn[res, path, stat]
70fn[res, path, stat]
812Đặt thuộc tính max-age của tiêu đề Kiểm soát bộ đệm theo mili giây hoặc một chuỗi ở định dạng ms. Number0fn[res, path, stat]
822Chuyển hướng đến dấu “/” khi tên đường dẫn là một thư mục. Booleanfn[res, path, stat]
70____4824Chức năng đặt tiêu đề HTTP để phân phát cùng với tệpXem setHeaders bên dưới
Hàm sốĐể biết thêm thông tin, hãy xem Cung cấp tệp tĩnh trong Express. và Sử dụng phần mềm trung gian - Phần mềm trung gian tích hợp
dotfilesCác giá trị có thể có cho tùy chọn này là
- “allow” - Không xử lý đặc biệt cho dotfiles
- “deny” - Từ chối yêu cầu đối với dotfile, trả lời bằng
825, sau đó gọifn[res, path, stat]
98fn[res, path, stat]
- “ignore” - Hành động như thể dotfile không tồn tại, trả lời bằng
827, sau đó gọifn[res, path, stat]
98fn[res, path, stat]
Khi tùy chọn này là
fn[res, path, stat]
70, các lỗi máy khách như yêu cầu không hợp lệ hoặc yêu cầu đối với tệp không tồn tại sẽ khiến phần mềm trung gian này chỉ cần gọi fn[res, path, stat]
98 để gọi phần mềm trung gian tiếp theo trong ngăn xếp. Khi sai, những lỗi này [thậm chí là lỗi 404], sẽ gọi fn[res, path, stat]
831Đặt tùy chọn này thành
fn[res, path, stat]
70 để bạn có thể ánh xạ nhiều thư mục vật lý tới cùng một địa chỉ web hoặc cho các tuyến để điền vào các tệp không tồn tạiSử dụng
fn[res, path, stat]
806 nếu bạn đã gắn phần mềm trung gian này vào một đường dẫn được thiết kế để trở thành một thư mục hệ thống tệp duy nhất, cho phép đoản mạch các 404 để giảm chi phí. Phần mềm trung gian này cũng sẽ trả lời tất cả các phương thứcĐối với tùy chọn này, hãy chỉ định một chức năng để đặt tiêu đề phản hồi tùy chỉnh. Thay đổi tiêu đề phải xảy ra đồng bộ
Chữ ký của hàm là
fn[res, path, stat]
Tranh luận
834, đối tượng phản hồifn[res, path, stat]
835, đường dẫn tệp đang được gửifn[res, path, stat]
836, đối tượngfn[res, path, stat]
836 của tệp đang được gửifn[res, path, stat]
Ví dụ về chuyển phát nhanh. tĩnh
Dưới đây là một ví dụ về việc sử dụng chức năng phần mềm trung gian
fn[res, path, stat]
802 với một đối tượng tùy chọn phức tạpfn[res, path, stat]
8bày tỏ. Bộ định tuyến[[tùy chọn]]
Tạo một đối tượng bộ định tuyến mới
fn[res, path, stat]
9Tham số
fn[res, path, stat]
68 tùy chọn chỉ định hành vi của bộ định tuyếnPropertyDescriptionDefaultAvailability
fn[res, path, stat]
840Enable case sensitivity. Bị tắt theo mặc định, xử lý “/Foo” và “/foo” như nhau. fn[res, path, stat]
841Duy trì các giá trị fn[res, path, stat]
842 từ bộ định tuyến chính. Nếu cha và con có tên tham số xung đột, giá trị của con sẽ được ưu tiên. fn[res, path, stat]
8064. 5. 0+______077Kích hoạt định tuyến nghiêm ngặt. Bị tắt theo mặc định, “/foo” và “/foo/” được bộ định tuyến xử lý như nhauBạn có thể thêm các tuyến phương thức HTTP và phần mềm trung gian [chẳng hạn như
fn[res, path, stat]
845, fn[res, path, stat]
846, fn[res, path, stat]
847, v.v.] vào fn[res, path, stat]
848 giống như một ứng dụngĐể biết thêm thông tin, xem Bộ định tuyến
bày tỏ. được mã hóa url [[tùy chọn]]
Đây là một chức năng phần mềm trung gian tích hợp trong Express. Nó phân tích các yêu cầu đến với tải trọng được mã hóa url và dựa trên trình phân tích cú pháp cơ thể
Trả về phần mềm trung gian chỉ phân tích các nội dung được mã hóa url và chỉ xem xét các yêu cầu có tiêu đề
fn[res, path, stat]
55 khớp với tùy chọn fn[res, path, stat]
56. Trình phân tích cú pháp này chỉ chấp nhận mã hóa UTF-8 của nội dung và hỗ trợ lạm phát tự động mã hóa fn[res, path, stat]
57 và fn[res, path, stat]
58Đối tượng
fn[res, path, stat]
59 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng fn[res, path, stat]
60 sau phần mềm trung gian [i. e. fn[res, path, stat]
61] hoặc một đối tượng trống [fn[res, path, stat]
62] nếu không có nội dung để phân tích cú pháp, fn[res, path, stat]
55 không khớp hoặc xảy ra lỗi. Đối tượng này sẽ chứa các cặp khóa-giá trị, trong đó giá trị có thể là một chuỗi hoặc mảng [khi fn[res, path, stat]
858 là fn[res, path, stat]
806] hoặc bất kỳ loại nào [khi fn[res, path, stat]
858 là fn[res, path, stat]
70]Vì hình dạng của
fn[res, path, stat]
61 dựa trên đầu vào do người dùng kiểm soát, nên tất cả các thuộc tính và giá trị trong đối tượng này đều không đáng tin cậy và phải được xác thực trước khi tin cậy. Ví dụ: fn[res, path, stat]
65 có thể bị lỗi theo nhiều cách, chẳng hạn như fn[res, path, stat]
66 có thể không ở đó hoặc có thể không phải là một chuỗi và fn[res, path, stat]
67 có thể không phải là một hàm mà thay vào đó là một chuỗi hoặc đầu vào khác của người dùngBảng sau mô tả các thuộc tính của đối tượng tùy chọn
fn[res, path, stat]
68PropertyDescriptionTypeDefaultfn[res, path, stat]
858Tùy chọn này cho phép chọn giữa phân tích cú pháp dữ liệu được mã hóa URL bằng thư viện fn[res, path, stat]
868 [khi fn[res, path, stat]
806] hoặc thư viện fn[res, path, stat]
870 [khi fn[res, path, stat]
70]. Cú pháp “mở rộng” cho phép các đối tượng và mảng phong phú được mã hóa thành định dạng được mã hóa URL, cho phép trải nghiệm giống như JSON với URL được mã hóa. Để biết thêm thông tin, vui lòng xem thư viện qs. Boolean fn[res, path, stat]
806fn[res, path, stat]
69 Cho phép hoặc vô hiệu hóa việc xử lý các phần tử [nén] bị xì hơi; . Booleanfn[res, path, stat]
70fn[res, path, stat]
71Kiểm soát kích thước cơ thể yêu cầu tối đa. Nếu đây là một số, thì giá trị chỉ định số byte; . Mixedfn[res, path, stat]
72fn[res, path, stat]
877Tùy chọn này kiểm soát số lượng tham số tối đa được phép trong dữ liệu được mã hóa URL. Nếu một yêu cầu chứa nhiều tham số hơn giá trị này, sẽ xảy ra lỗi. Số____4878fn[res, path, stat]
56Số này được sử dụng để xác định loại phương tiện mà phần mềm trung gian sẽ phân tích cú pháp. Tùy chọn này có thể là một chuỗi, mảng các chuỗi hoặc một hàm. Nếu không phải là hàm, tùy chọn fn[res, path, stat]
56 được chuyển trực tiếp đến thư viện kiểu là và đây có thể là tên tiện ích mở rộng [như fn[res, path, stat]
881], loại kịch câm [như fn[res, path, stat]
882] hoặc loại kịch câm có ký tự đại diện [như fn[res, path, stat]
883]. Nếu là một hàm, tùy chọn fn[res, path, stat]
56 được gọi là fn[res, path, stat]
87 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixedfn[res, path, stat]
886fn[res, path, stat]
89Tùy chọn này, nếu được cung cấp, được gọi là fn[res, path, stat]
90, trong đó fn[res, path, stat]
91 là một fn[res, path, stat]
92 của nội dung yêu cầu thô và fn[res, path, stat]
93 là mã hóa của yêu cầu. Việc phân tích cú pháp có thể bị hủy bỏ bằng cách đưa ra lỗi. Chức năng____094Ứng dụng
Đối tượng
fn[res, path, stat]
893 thường biểu thị ứng dụng Express. Tạo nó bằng cách gọi hàm fn[res, path, stat]
53 cấp cao nhất được xuất bởi mô-đun Expressfn[res, path, stat]
46Đối tượng
fn[res, path, stat]
893 có các phương thức đểNó cũng có các cài đặt [thuộc tính] ảnh hưởng đến cách ứng dụng hoạt động;
Của cải
ứng dụng. người dân địa phương
Đối tượng
fn[res, path, stat]
896 có các thuộc tính là các biến cục bộ trong ứng dụng và sẽ có sẵn trong các mẫu được hiển thị với độ phân giải. kết xuấtfn[res, path, stat]
49Sau khi được đặt, giá trị của các thuộc tính
fn[res, path, stat]
896 sẽ tồn tại trong suốt vòng đời của ứng dụng, trái ngược với res. các thuộc tính local chỉ hợp lệ trong suốt thời gian yêu cầuBạn có thể truy cập các biến cục bộ trong các mẫu được hiển thị trong ứng dụng. Điều này hữu ích để cung cấp các hàm trợ giúp cho các mẫu, cũng như dữ liệu cấp ứng dụng. Các biến cục bộ có sẵn trong phần mềm trung gian thông qua
fn[res, path, stat]
898 [xem yêu cầu. ứng dụng]fn[res, path, stat]
52ứng dụng. đường leo núi
Thuộc tính
fn[res, path, stat]
899 chứa một hoặc nhiều mẫu đường dẫn mà ứng dụng phụ được gắn trên đóỨng dụng phụ là một phiên bản của
fn[res, path, stat]
54 có thể được sử dụng để xử lý yêu cầu tới một tuyến đườngfn[res, path, stat]
55Nó tương tự như thuộc tính baseUrl của đối tượng
fn[res, path, stat]
901, ngoại trừ fn[res, path, stat]
902 trả về đường dẫn URL phù hợp, thay vì các mẫu phù hợpNếu một ứng dụng con được gắn trên nhiều mẫu đường dẫn, thì
fn[res, path, stat]
899 sẽ trả về danh sách các mẫu được gắn trên đó, như minh họa trong ví dụ saufn[res, path, stat]
59ứng dụng. bộ định tuyến
Phiên bản bộ định tuyến tích hợp sẵn của ứng dụng. Điều này được tạo ra một cách lười biếng, trong lần truy cập đầu tiên
fn[res, path, stat]
60Bạn có thể thêm các tuyến phương thức HTTP và phần mềm trung gian vào
fn[res, path, stat]
848 giống như một ứng dụngĐể biết thêm thông tin, xem Bộ định tuyến
Sự kiện
ứng dụng. on['mount', callback[parent]]
Sự kiện
fn[res, path, stat]
905 được kích hoạt trên ứng dụng con khi nó được gắn trên ứng dụng mẹ. Ứng dụng gốc được chuyển đến chức năng gọi lạiGHI CHÚ
Các ứng dụng phụ sẽ
- Không kế thừa giá trị của cài đặt có giá trị mặc định. Bạn phải đặt giá trị trong ứng dụng phụ
- Kế thừa giá trị của cài đặt không có giá trị mặc định
Để biết chi tiết, hãy xem Cài đặt ứng dụng
fn[res, path, stat]
0phương pháp
ứng dụng. tất cả [đường dẫn, gọi lại [, gọi lại. ]]
Phương pháp này giống như ứng dụng tiêu chuẩn. METHOD[], ngoại trừ nó phù hợp với tất cả các động từ HTTP
Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóví dụ
Cuộc gọi lại sau đây được thực hiện cho các yêu cầu tới
fn[res, path, stat]
909 cho dù sử dụng GET, POST, PUT, DELETE hay bất kỳ phương thức yêu cầu HTTP nào khácfn[res, path, stat]
1Phương thức
fn[res, path, stat]
910 rất hữu ích để ánh xạ logic “toàn cầu” cho các tiền tố đường dẫn cụ thể hoặc các kết quả khớp tùy ý. Ví dụ: nếu bạn đặt phần sau ở đầu tất cả các định nghĩa tuyến đường khác, nó yêu cầu tất cả các tuyến đường từ thời điểm đó trở đi yêu cầu xác thực và tự động tải người dùng. Hãy nhớ rằng những cuộc gọi lại này không phải đóng vai trò là điểm cuối. fn[res, path, stat]
911 có thể thực hiện một nhiệm vụ, sau đó gọi fn[res, path, stat]
98 để tiếp tục khớp các tuyến tiếp theofn[res, path, stat]
2Hoặc tương đương
fn[res, path, stat]
3Một ví dụ khác là chức năng “toàn cầu” được liệt kê trắng. Ví dụ này tương tự như ví dụ trên, nhưng nó chỉ giới hạn các đường dẫn bắt đầu bằng “/api”
fn[res, path, stat]
4ứng dụng. xóa [đường dẫn, gọi lại [, gọi lại. ]]
Định tuyến các yêu cầu XÓA HTTP đến đường dẫn đã chỉ định với các chức năng gọi lại được chỉ định. Để biết thêm thông tin, hãy xem hướng dẫn định tuyến
Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóThí dụ
fn[res, path, stat]
5ứng dụng. vô hiệu hóa [tên]
Đặt cài đặt Boolean
fn[res, path, stat]
916 thành fn[res, path, stat]
806, trong đó fn[res, path, stat]
916 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Gọi fn[res, path, stat]
919 cho thuộc tính Boolean cũng giống như gọi fn[res, path, stat]
920Ví dụ
fn[res, path, stat]
6ứng dụng. bị vô hiệu hóa [tên]
Trả về
fn[res, path, stat]
70 nếu cài đặt Boolean fn[res, path, stat]
916 bị tắt [fn[res, path, stat]
806], trong đó fn[res, path, stat]
916 là một trong các thuộc tính từ bảng cài đặt ứng dụngfn[res, path, stat]
7ứng dụng. kích hoạt [tên]
Đặt cài đặt Boolean
fn[res, path, stat]
916 thành fn[res, path, stat]
70, trong đó fn[res, path, stat]
916 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Gọi fn[res, path, stat]
928 cho một thuộc tính Boolean cũng giống như gọi fn[res, path, stat]
929fn[res, path, stat]
8ứng dụng. đã bật [tên]
Trả về
fn[res, path, stat]
70 nếu cài đặt fn[res, path, stat]
916 được bật [fn[res, path, stat]
70], trong đó fn[res, path, stat]
916 là một trong các thuộc tính từ bảng cài đặt ứng dụngfn[res, path, stat]
9ứng dụng. động cơ [ext, gọi lại]
Đăng ký công cụ mẫu đã cho
fn[res, path, stat]
907 thành fn[res, path, stat]
935Theo mặc định, Express sẽ
fn[res, path, stat]
936 công cụ dựa trên phần mở rộng tệp. Ví dụ: nếu bạn cố gắng kết xuất một “foo. pug”, Express sẽ gọi nội bộ nội dung sau và lưu trữ tệp fn[res, path, stat]
936 trong các lệnh gọi tiếp theo để tăng hiệu suấtfn[res, path, stat]
80Sử dụng phương pháp này cho các công cụ không cung cấp
fn[res, path, stat]
938 ngay lập tức hoặc nếu bạn muốn "ánh xạ" một tiện ích mở rộng khác cho công cụ mẫuVí dụ: để ánh xạ công cụ mẫu EJS tới “. tập tin html”
fn[res, path, stat]
81Trong trường hợp này, EJS cung cấp phương thức
fn[res, path, stat]
939 có cùng chữ ký mà Express mong đợi. fn[res, path, stat]
940, mặc dù lưu ý rằng nó đặt bí danh cho phương pháp này là fn[res, path, stat]
941 trong nội bộ, vì vậy nếu bạn đang sử dụng “. ejs” mà bạn không cần phải làm gì cảMột số công cụ mẫu không tuân theo quy ước này. sự hợp nhất. js ánh xạ các công cụ mẫu Node tuân theo quy ước này, vì vậy chúng hoạt động liền mạch với Express
fn[res, path, stat]
82ứng dụng. lấy [tên]
Trả về giá trị của cài đặt ứng dụng
fn[res, path, stat]
916, trong đó fn[res, path, stat]
916 là một trong các chuỗi trong bảng cài đặt ứng dụng. Ví dụfn[res, path, stat]
83ứng dụng. get[đường dẫn, gọi lại [, gọi lại. ]]
Định tuyến các yêu cầu HTTP GET đến đường dẫn đã chỉ định với các chức năng gọi lại được chỉ định
Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóĐể biết thêm thông tin, hãy xem hướng dẫn định tuyến
Thí dụ
fn[res, path, stat]
84ứng dụng. lắng nghe [đường dẫn, [gọi lại]]
Khởi động ổ cắm UNIX và lắng nghe các kết nối trên đường dẫn đã cho. Phương thức này giống hệt với http của Node. Người phục vụ. nghe[]
fn[res, path, stat]
85ứng dụng. lắng nghe [[cổng [, máy chủ [, tồn đọng]]] [, gọi lại]]
Liên kết và lắng nghe các kết nối trên máy chủ và cổng được chỉ định. Phương thức này giống hệt với http của Node. Người phục vụ. nghe[]
Nếu cổng bị bỏ qua hoặc bằng 0, hệ điều hành sẽ chỉ định một cổng không sử dụng tùy ý, điều này hữu ích cho các trường hợp như tác vụ tự động [kiểm tra, v.v. ]
fn[res, path, stat]
86fn[res, path, stat]
893 được trả về bởi fn[res, path, stat]
53 trên thực tế là một JavaScript fn[res, path, stat]
949, được thiết kế để chuyển đến các máy chủ HTTP của Node dưới dạng lệnh gọi lại để xử lý các yêu cầu. Điều này giúp dễ dàng cung cấp cả phiên bản HTTP và HTTPS của ứng dụng với cùng một cơ sở mã vì ứng dụng không kế thừa từ những phiên bản này [nó chỉ đơn giản là một cuộc gọi lại]fn[res, path, stat]
87Phương thức
fn[res, path, stat]
950 trả về một http. Đối tượng máy chủ và [đối với HTTP] là một phương thức thuận tiện cho những điều sau đâyfn[res, path, stat]
88ứng dụng. PHƯƠNG PHÁP [đường dẫn, gọi lại [, gọi lại. ]]
Định tuyến một yêu cầu HTTP, trong đó METHOD là phương thức HTTP của yêu cầu, chẳng hạn như GET, PUT, POST, v.v., viết thường. Do đó, các phương thức thực tế là
fn[res, path, stat]
951, fn[res, path, stat]
952, fn[res, path, stat]
953, v.v. Xem các phương pháp định tuyến bên dưới để biết danh sách đầy đủTranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóphương pháp định tuyến
Express hỗ trợ các phương thức định tuyến sau tương ứng với các phương thức HTTP cùng tên
957fn[res, path, stat]
958fn[res, path, stat]
959fn[res, path, stat]
845fn[res, path, stat]
961fn[res, path, stat]
962fn[res, path, stat]
963fn[res, path, stat]
964fn[res, path, stat]
965fn[res, path, stat]
966fn[res, path, stat]
967fn[res, path, stat]
968fn[res, path, stat]
68fn[res, path, stat]
970fn[res, path, stat]
847fn[res, path, stat]
972fn[res, path, stat]
846fn[res, path, stat]
974fn[res, path, stat]
975fn[res, path, stat]
976fn[res, path, stat]
977fn[res, path, stat]
978fn[res, path, stat]
979fn[res, path, stat]
Tài liệu API chỉ có các mục nhập rõ ràng cho các phương thức HTTP phổ biến nhất
fn[res, path, stat]
951, fn[res, path, stat]
952, fn[res, path, stat]
953 và fn[res, path, stat]
983. Tuy nhiên, các phương pháp khác được liệt kê ở trên hoạt động theo cùng một cáchĐể định tuyến các phương thức chuyển thành tên biến JavaScript không hợp lệ, hãy sử dụng ký hiệu dấu ngoặc. Ví dụ:
fn[res, path, stat]
984Hàm
fn[res, path, stat]
951 được tự động gọi cho phương thức HTTP fn[res, path, stat]
986 ngoài phương thức fn[res, path, stat]
987 nếu trước đó fn[res, path, stat]
988 không gọi cho đường dẫn fn[res, path, stat]
951Phương thức,
fn[res, path, stat]
910, không bắt nguồn từ bất kỳ phương thức HTTP nào và tải phần mềm trung gian tại đường dẫn đã chỉ định cho tất cả các phương thức yêu cầu HTTP. Để biết thêm thông tin, hãy xem ứng dụng. tất cả cácĐể biết thêm thông tin về định tuyến, hãy xem hướng dẫn định tuyến
ứng dụng. param[tên, gọi lại]
Thêm trình kích hoạt gọi lại vào các tham số định tuyến, trong đó
fn[res, path, stat]
916 là tên của tham số hoặc một mảng của chúng và fn[res, path, stat]
907 là hàm gọi lại. Các tham số của hàm gọi lại là đối tượng yêu cầu, đối tượng phản hồi, phần mềm trung gian tiếp theo, giá trị của tham số và tên của tham số, theo thứ tự đóNếu
fn[res, path, stat]
916 là một mảng, trình kích hoạt fn[res, path, stat]
907 được đăng ký cho từng tham số được khai báo trong đó, theo thứ tự chúng được khai báo. Hơn nữa, đối với mỗi tham số được khai báo ngoại trừ tham số cuối cùng, một cuộc gọi đến fn[res, path, stat]
995 bên trong hàm gọi lại sẽ gọi hàm gọi lại cho tham số được khai báo tiếp theo. Đối với tham số cuối cùng, một cuộc gọi tới fn[res, path, stat]
995 sẽ gọi phần mềm trung gian tiếp theo tại chỗ cho tuyến hiện đang được xử lý, giống như nó sẽ xảy ra nếu fn[res, path, stat]
916 chỉ là một chuỗiVí dụ: khi có
fn[res, path, stat]
998 trong đường dẫn tuyến đường, bạn có thể ánh xạ logic tải của người dùng để tự động cung cấp fn[res, path, stat]
999 cho tuyến đường hoặc thực hiện xác thực trên đầu vào tham sốfn[res, path, stat]
89Các chức năng gọi lại tham số là cục bộ của bộ định tuyến mà chúng được xác định. Chúng không được kế thừa bởi các ứng dụng hoặc bộ định tuyến được gắn kết. Do đó, các cuộc gọi lại param được xác định trên
fn[res, path, stat]
893 sẽ chỉ được kích hoạt bởi các tham số tuyến đường được xác định trên các tuyến đường fn[res, path, stat]
893Tất cả các cuộc gọi lại thông số sẽ được gọi trước bất kỳ trình xử lý nào của bất kỳ tuyến đường nào mà thông số xảy ra và mỗi cuộc gọi lại sẽ chỉ được gọi một lần trong chu kỳ phản hồi yêu cầu, ngay cả khi tham số được khớp trong nhiều tuyến, như được minh họa trong các ví dụ sau
fn[res, path, stat]
90Trên
fn[res, path, stat]
4602, phần sau được infn[res, path, stat]
91fn[res, path, stat]
92Trên
fn[res, path, stat]
4603, phần sau được infn[res, path, stat]
93ứng dụng. đường dẫn[]
Trả về đường dẫn chính tắc của ứng dụng, một chuỗi
fn[res, path, stat]
94Hành vi của phương pháp này có thể trở nên rất phức tạp trong các trường hợp phức tạp của các ứng dụng được gắn kết. thường tốt hơn là sử dụng req. baseUrl để lấy đường dẫn chuẩn của ứng dụng
ứng dụng. bài đăng [đường dẫn, gọi lại [, gọi lại. ]]
Định tuyến các yêu cầu HTTP POST đến đường dẫn đã chỉ định với các chức năng gọi lại được chỉ định. Để biết thêm thông tin, hãy xem hướng dẫn định tuyến
Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóThí dụ
fn[res, path, stat]
95ứng dụng. đặt [đường dẫn, gọi lại [, gọi lại. ]]
Định tuyến các yêu cầu HTTP PUT đến đường dẫn đã chỉ định với các chức năng gọi lại được chỉ định
Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóThí dụ
fn[res, path, stat]
96ứng dụng. kết xuất [xem, [địa phương], gọi lại]
Trả về HTML được hiển thị của chế độ xem qua hàm
fn[res, path, stat]
907. Nó chấp nhận một tham số tùy chọn là một đối tượng chứa các biến cục bộ cho dạng xem. Nó giống như độ phân giải. render[], ngoại trừ nó không thể tự gửi chế độ xem được hiển thị tới máy kháchHãy nghĩ về
fn[res, path, stat]
4611 như một chức năng tiện ích để tạo các chuỗi xem được hiển thị. Nội bộ fn[res, path, stat]
4612 sử dụng fn[res, path, stat]
4611 để hiển thị chế độ xemBiến cục bộ
fn[res, path, stat]
4614 được dành riêng để bật chế độ xem bộ đệm. Đặt nó thành fn[res, path, stat]
70, nếu bạn muốn xem bộ đệm trong quá trình phát triển; fn[res, path, stat]
97ứng dụng. lộ trình [đường đi]
Trả về một phiên bản của một tuyến đường, sau đó bạn có thể sử dụng tuyến đường này để xử lý các động từ HTTP bằng phần mềm trung gian tùy chọn. Sử dụng
fn[res, path, stat]
4616 để tránh tên tuyến đường trùng lặp [và do đó là lỗi đánh máy]fn[res, path, stat]
98ứng dụng. đặt [tên, giá trị]
Chỉ định cài đặt
fn[res, path, stat]
916 thành fn[res, path, stat]
4618. Bạn có thể lưu trữ bất kỳ giá trị nào bạn muốn, nhưng một số tên nhất định có thể được sử dụng để định cấu hình hành vi của máy chủ. Những tên đặc biệt này được liệt kê trong bảng cài đặt ứng dụngGọi
fn[res, path, stat]
928 cho một thuộc tính Boolean cũng giống như gọi fn[res, path, stat]
929. Tương tự, gọi fn[res, path, stat]
919 cho một thuộc tính Boolean cũng giống như gọi fn[res, path, stat]
920Truy xuất giá trị của cài đặt với
fn[res, path, stat]
951fn[res, path, stat]
99Cài đặt ứng dụng
Bảng sau liệt kê các cài đặt ứng dụng
Lưu ý rằng các ứng dụng phụ sẽ
- Không kế thừa giá trị của cài đặt có giá trị mặc định. Bạn phải đặt giá trị trong ứng dụng phụ
- Kế thừa giá trị của các cài đặt không có giá trị mặc định;
ngoại lệ. Các ứng dụng phụ sẽ kế thừa giá trị của
fn[res, path, stat]
4624 mặc dù nó có giá trị mặc định [để tương thích ngược]; Loại thuộc tínhMô tảMặc định
fn[res, path, stat]
4627BooleanBật phân biệt chữ hoa chữ thường. Khi được bật, "/Foo" và "/foo" là các tuyến khác nhau. Khi bị tắt, "/Foo" và "/foo" được xử lý như nhau
GHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4628Chế độ môi trường chuỗi. Đảm bảo đặt thành "sản xuất" trong môi trường sản xuất; . hiệu suất và độ tin cậyfn[res, path, stat]
4629 [biến môi trường fn[res, path, stat]
4626] hoặc “phát triển” nếu không đặt fn[res, path, stat]
4626fn[res, path, stat]
801đa dạngĐặt tiêu đề phản hồi ETag. Để biết các giá trị có thể, hãy xem bảng tùy chọn
fn[res, path, stat]
801Tìm hiểu thêm về tiêu đề HTTP ETag
fn[res, path, stat]
4634fn[res, path, stat]
4635StringChỉ định tên gọi lại JSONP mặc định"gọi lại"
fn[res, path, stat]
4636BooleanCho phép thoát các phản hồi JSON từ API
fn[res, path, stat]
4637, fn[res, path, stat]
4638 và fn[res, path, stat]
4639. Điều này sẽ thoát khỏi các ký tự fn[res, path, stat]
4640, fn[res, path, stat]
4641 và fn[res, path, stat]
4642 dưới dạng các chuỗi thoát Unicode trong JSON. Mục đích của việc này là để hỗ trợ giảm thiểu một số kiểu tấn công XSS dai dẳng khi khách hàng đánh hơi phản hồi cho HTMLGHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4643Đa dạngĐối số 'thay thế' được sử dụng bởi `JSON. xâu chuỗi`GHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4644Đa dạngĐối số 'không gian' được sử dụng bởi `JSON. xâu chuỗi`. Điều này thường được đặt thành số khoảng trắng sẽ sử dụng để thụt lề JSONGHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4645đa dạngVô hiệu hóa phân tích cú pháp truy vấn bằng cách đặt giá trị thành
fn[res, path, stat]
806 hoặc đặt trình phân tích cú pháp truy vấn để sử dụng "đơn giản" hoặc "mở rộng" hoặc chức năng phân tích cú pháp chuỗi truy vấn tùy chỉnhTrình phân tích cú pháp truy vấn đơn giản dựa trên trình phân tích cú pháp truy vấn gốc của Node, chuỗi truy vấn
Trình phân tích cú pháp truy vấn mở rộng dựa trên qs
Hàm phân tích chuỗi truy vấn tùy chỉnh sẽ nhận chuỗi truy vấn hoàn chỉnh và phải trả về một đối tượng gồm các khóa truy vấn và giá trị của chúng
"mở rộng"fn[res, path, stat]
4647BooleanKích hoạt định tuyến nghiêm ngặt. Khi được bật, bộ định tuyến coi "/foo" và "/foo/" là khác nhau. Mặt khác, bộ định tuyến coi "/foo" và "/foo/" giống nhau
GHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4648Số Số phần được phân tách bằng dấu chấm của máy chủ cần xóa để truy cập tên miền phụ. 2fn[res, path, stat]
4624đa dạngCho biết ứng dụng đứng sau proxy mặt trước và sử dụng tiêu đề
fn[res, path, stat]
4650 để xác định kết nối và địa chỉ IP của ứng dụng khách. GHI CHÚ. Tiêu đề fn[res, path, stat]
4650 dễ bị giả mạo và địa chỉ IP được phát hiện là không đáng tin cậyKhi được bật, Express sẽ cố gắng xác định địa chỉ IP của máy khách được kết nối thông qua proxy mặt trước hoặc một loạt proxy. `yêu cầu. ips`, sau đó chứa một mảng địa chỉ IP mà máy khách được kết nối thông qua. Để bật tính năng này, hãy sử dụng các giá trị được mô tả trong bảng tùy chọn proxy tin cậy
Cài đặt `trust proxy` được triển khai bằng gói proxy-addr. Để biết thêm thông tin, hãy xem tài liệu của nó
GHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này, mặc dù cài đặt này có giá trị mặc định
fn[res, path, stat]
806 [đã tắt]fn[res, path, stat]
4653String or ArrayA directory or an array of directories for the application's views. If an array, the views are looked up in the order they occur in the arrayfn[res, path, stat]
4654fn[res, path, stat]
4625BooleanEnables view template compilation caching
NOTE. Sub-apps will not inherit the value of this setting in production [when `NODE_ENV` is "production"]
fn[res, path, stat]
70 in production, otherwise undefinedfn[res, path, stat]
4657StringThe default engine extension to use when omittedGHI CHÚ. Các ứng dụng phụ sẽ kế thừa giá trị của cài đặt này
N/A [không xác định]fn[res, path, stat]
4658BooleanEnables the "X-Powered-By. Express" tiêu đề HTTPfn[res, path, stat]
70Options for `trust proxy` settingRead Express behind proxies for more information
TypeValueBooleanIf
fn[res, path, stat]
70, the client’s IP address is understood as the left-most entry in the fn[res, path, stat]
4650 headerIf
fn[res, path, stat]
806, the app is understood as directly facing the Internet and the client’s IP address is derived from fn[res, path, stat]
4663. This is the default settingStringString containing comma-separated values
Array of strings
An IP address, subnet, or an array of IP addresses, and subnets to trust. Pre-configured subnet names are
- loopback -
4664,fn[res, path, stat]
4665fn[res, path, stat]
- linklocal -
4666,fn[res, path, stat]
4667fn[res, path, stat]
- uniquelocal -
4668,fn[res, path, stat]
4669,fn[res, path, stat]
4670,fn[res, path, stat]
4671fn[res, path, stat]
Set IP addresses in any of the following ways
Specify a single subnet
fn[res, path, stat]
460Specify a subnet and an address
fn[res, path, stat]
461Specify multiple subnets as CSV
fn[res, path, stat]
462Specify multiple subnets as an array
fn[res, path, stat]
463Khi được chỉ định, các địa chỉ IP hoặc mạng con sẽ bị loại trừ khỏi quá trình xác định địa chỉ và địa chỉ IP không đáng tin cậy gần máy chủ ứng dụng nhất được xác định là địa chỉ IP của máy khách
NumberTrust the nth hop from the front-facing proxy server as the client
Hàm sốCustom trust implementation. Use this only if you know what you are doing
fn[res, path, stat]
464Các tùy chọn cho cài đặt `etag`NOTE. These settings apply only to dynamic files, not static files. đường cao tốc. phần mềm trung gian tĩnh bỏ qua các cài đặt này
The ETag functionality is implemented using the etag package. For more information, see its documentation
TypeValueBooleanfn[res, path, stat]
70 enables weak ETag. This is the default setting. fn[res, path, stat]
806 disables ETag altogether. StringIf "strong", enables strong ETag. If "weak", enables weak ETag. Function
Custom ETag function implementation. Use this only if you know what you are doing
fn[res, path, stat]
465app. use[[path,] callback [, callback. ]]
Gắn kết chức năng phần mềm trung gian được chỉ định hoặc các chức năng tại đường dẫn đã chỉ định. chức năng phần mềm trung gian được thực thi khi cơ sở của đường dẫn được yêu cầu khớp với
fn[res, path, stat]
835Tranh luận
ArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;- Một chuỗi đại diện cho một đường dẫn
- Một mô hình đường dẫn
- Một mẫu biểu thức chính quy để khớp với các đường dẫn
- Một mảng kết hợp của bất kỳ điều nào ở trên
- Chức năng phần mềm trung gian
- Một loạt các chức năng của phần mềm trung gian [được phân tách bằng dấu phẩy]
- Một loạt các chức năng phần mềm trung gian
- Một sự kết hợp của tất cả những điều trên
Bạn có thể cung cấp nhiều chức năng gọi lại hoạt động giống như phần mềm trung gian, ngoại trừ việc các lệnh gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] lệnh gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để áp đặt các điều kiện trước cho một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến đường tiếp theo nếu không có lý do gì để tiếp tục tuyến đường hiện tạiKhi một hàm gọi lại gây ra lỗi hoặc trả về một lời hứa bị từ chối, `next[err]` sẽ tự động được gọi
Vì bộ định tuyến và ứng dụng triển khai giao diện phần mềm trung gian nên bạn có thể sử dụng chúng như bất kỳ chức năng phần mềm trung gian nào khác
Ví dụ, xem Ví dụ về chức năng gọi lại Middleware
Không cóDescription
A route will match any path that follows its path immediately with a “
fn[res, path, stat]
4678”. For example. fn[res, path, stat]
4679 will match “/apple”, “/apple/images”, “/apple/images/news”, and so onSince
fn[res, path, stat]
835 defaults to “/”, middleware mounted without a path will be executed for every request to the app. For example, this middleware function will be executed for every request to the app.
fn[res, path, stat]
466GHI CHÚ
Các ứng dụng phụ sẽ
- Không kế thừa giá trị của cài đặt có giá trị mặc định. Bạn phải đặt giá trị trong ứng dụng phụ
- Kế thừa giá trị của cài đặt không có giá trị mặc định
Để biết chi tiết, hãy xem Cài đặt ứng dụng
Middleware functions are executed sequentially, therefore the order of middleware inclusion is important
fn[res, path, stat]
467Error-handling middleware
Error-handling middleware always takes four arguments. You must provide four arguments to identify it as an error-handling middleware function. Even if you don’t need to use the
fn[res, path, stat]
995 object, you must specify it to maintain the signature. Otherwise, the fn[res, path, stat]
995 object will be interpreted as regular middleware and will fail to handle errors. For details about error-handling middleware, see. Error handlingDefine error-handling middleware functions in the same way as other middleware functions, except with four arguments instead of three, specifically with the signature
fn[res, path, stat]
4683]fn[res, path, stat]
468Path examples
The following table provides some simple examples of valid
fn[res, path, stat]
835 values for mounting middlewareTypeExamplePath
This will match paths starting with
fn[res, path, stat]
4685fn[res, path, stat]
469Path PatternThis will match paths starting with
fn[res, path, stat]
4685 and fn[res, path, stat]
4687fn[res, path, stat]
490Regular ExpressionThis will match paths starting with
fn[res, path, stat]
4688 and fn[res, path, stat]
4689fn[res, path, stat]
491ArrayThis will match paths starting with
fn[res, path, stat]
4685, fn[res, path, stat]
4691, fn[res, path, stat]
4692, and fn[res, path, stat]
4693fn[res, path, stat]
492Middleware callback function examples
Bảng sau đây cung cấp một số ví dụ đơn giản về các hàm phần mềm trung gian có thể được sử dụng làm đối số
fn[res, path, stat]
907 cho fn[res, path, stat]
4695, fn[res, path, stat]
4696 và fn[res, path, stat]
910. Even though the examples are for fn[res, path, stat]
4695, they are also valid for fn[res, path, stat]
4695, fn[res, path, stat]
4696, and fn[res, path, stat]
910UsageExampleSingle MiddlewareYou can define and mount a middleware function locally
fn[res, path, stat]
493Bộ định tuyến là phần mềm trung gian hợp lệ
fn[res, path, stat]
494An Express app is valid middleware
fn[res, path, stat]
495Series of MiddlewareYou can specify more than one middleware function at the same mount path
fn[res, path, stat]
496MảngUse an array to group middleware logically
fn[res, path, stat]
497CombinationBạn có thể kết hợp tất cả các cách cài đặt phần mềm trung gian ở trên
fn[res, path, stat]
498Sau đây là một số ví dụ về việc sử dụng express. phần mềm trung gian tĩnh trong ứng dụng Express
Cung cấp nội dung tĩnh cho ứng dụng từ thư mục “công khai” trong thư mục ứng dụng
fn[res, path, stat]
499Gắn phần mềm trung gian tại “/static” để chỉ phục vụ nội dung tĩnh khi đường dẫn yêu cầu của chúng có tiền tố là “/static”
fn[res, path, stat]
520Tắt ghi nhật ký cho các yêu cầu nội dung tĩnh bằng cách tải phần mềm trung gian ghi nhật ký sau phần mềm trung gian tĩnh
fn[res, path, stat]
521Phục vụ các tệp tĩnh từ nhiều thư mục, nhưng ưu tiên cho “. /public” so với những cái khác
fn[res, path, stat]
522Lời yêu cầu
Đối tượng
fn[res, path, stat]
901 đại diện cho yêu cầu HTTP và có các thuộc tính cho chuỗi truy vấn yêu cầu, tham số, nội dung, tiêu đề HTTP, v.v. Trong tài liệu này và theo quy ước, đối tượng luôn được gọi là fn[res, path, stat]
901 [và phản hồi HTTP là fn[res, path, stat]
834] nhưng tên thực của nó được xác định bởi các tham số cho hàm gọi lại mà bạn đang làm việcVí dụ
fn[res, path, stat]
523But you could just as well have
fn[res, path, stat]
524The
fn[res, path, stat]
901 object is an enhanced version of Node’s own request object and supports all built-in fields and methodsCủa cải
req. app
Thuộc tính này giữ một tham chiếu đến phiên bản của ứng dụng Express đang sử dụng phần mềm trung gian
If you follow the pattern in which you create a module that just exports a middleware function and
fn[res, path, stat]
936 it in your main file, then the middleware can access the Express instance via fn[res, path, stat]
4907Ví dụ
fn[res, path, stat]
525fn[res, path, stat]
526req. baseUrl
The URL path on which a router instance was mounted
The
fn[res, path, stat]
902 property is similar to the mountpath property of the fn[res, path, stat]
893 object, except fn[res, path, stat]
899 returns the matched path pattern[s]Ví dụ
fn[res, path, stat]
527Even if you use a path pattern or a set of path patterns to load the router, the
fn[res, path, stat]
4911 property returns the matched string, not the pattern[s]. In the following example, the fn[res, path, stat]
4912 router is loaded on two path patternsfn[res, path, stat]
528When a request is made to
fn[res, path, stat]
4913, fn[res, path, stat]
902 is “/greet”. When a request is made to fn[res, path, stat]
4915, fn[res, path, stat]
902 is “/hello”req. body
Contains key-value pairs of data submitted in the request body. By default, it is
fn[res, path, stat]
94, and is populated when you use body-parsing middleware such as body-parser and multerVì hình dạng của
fn[res, path, stat]
61 dựa trên đầu vào do người dùng kiểm soát, nên tất cả các thuộc tính và giá trị trong đối tượng này đều không đáng tin cậy và phải được xác thực trước khi tin cậy. Ví dụ: fn[res, path, stat]
65 có thể bị lỗi theo nhiều cách, chẳng hạn như fn[res, path, stat]
66 có thể không ở đó hoặc có thể không phải là một chuỗi và fn[res, path, stat]
67 có thể không phải là một hàm mà thay vào đó là một chuỗi hoặc đầu vào khác của người dùngThe following example shows how to use body-parsing middleware to populate
fn[res, path, stat]
61fn[res, path, stat]
529req. cookies
When using cookie-parser middleware, this property is an object that contains cookies sent by the request. If the request contains no cookies, it defaults to
fn[res, path, stat]
62fn[res, path, stat]
550If the cookie has been signed, you have to use req. signedCookies
For more information, issues, or concerns, see cookie-parser
req. fresh
When the response is still “fresh” in the client’s cache
fn[res, path, stat]
70 is returned, otherwise fn[res, path, stat]
806 is returned to indicate that the client cache is now stale and the full response should be sentWhen a client sends the
fn[res, path, stat]
4926 request header to indicate an end-to-end reload request, this module will return fn[res, path, stat]
806 to make handling these requests transparentFurther details for how cache validation works can be found in the HTTP/1. 1 Caching Specification
fn[res, path, stat]
551req. host
Contains the host derived from the
fn[res, path, stat]
4928 HTTP headerWhen the
fn[res, path, stat]
4624 setting does not evaluate to fn[res, path, stat]
806, this property will instead get the value from the fn[res, path, stat]
4931 header field. This header can be set by the client or by the proxyIf there is more than one
fn[res, path, stat]
4931 header in the request, the value of the first header is used. This includes a single header with comma-separated values, in which the first value is usedfn[res, path, stat]
552req. hostname
Contains the hostname derived from the
fn[res, path, stat]
4928 HTTP headerWhen the
fn[res, path, stat]
4624 setting does not evaluate to fn[res, path, stat]
806, this property will instead get the value from the fn[res, path, stat]
4931 header field. This header can be set by the client or by the proxyIf there is more than one
fn[res, path, stat]
4931 header in the request, the value of the first header is used. This includes a single header with comma-separated values, in which the first value is usedPrior to Express v4. 17. 0, the
fn[res, path, stat]
4931 could not contain multiple values or be present more than oncefn[res, path, stat]
553req. ip
Contains the remote IP address of the request
When the
fn[res, path, stat]
4624 setting does not evaluate to fn[res, path, stat]
806, the value of this property is derived from the left-most entry in the fn[res, path, stat]
4941 header. This header can be set by the client or by the proxyfn[res, path, stat]
554req. ips
When the
fn[res, path, stat]
4624 setting does not evaluate to fn[res, path, stat]
806, this property contains an array of IP addresses specified in the fn[res, path, stat]
4941 request header. Otherwise, it contains an empty array. This header can be set by the client or by the proxyFor example, if
fn[res, path, stat]
4941 is fn[res, path, stat]
4946, fn[res, path, stat]
4947 would be fn[res, path, stat]
4948, where fn[res, path, stat]
4949 is the furthest downstreamreq. method
Contains a string corresponding to the HTTP method of the request.
fn[res, path, stat]
987, fn[res, path, stat]
4951, fn[res, path, stat]
4952, and so onreq. originalUrl
fn[res, path, stat]
96 is not a native Express property, it is inherited from Node’s http moduleThis property is much like
fn[res, path, stat]
96; however, it retains the original request URL, allowing you to rewrite fn[res, path, stat]
96 freely for internal routing purposes. For example, the “mounting” feature of app. use[] will rewrite fn[res, path, stat]
96 to strip the mount pointfn[res, path, stat]
555fn[res, path, stat]
4957 is available both in middleware and router objects, and is a combination of fn[res, path, stat]
902 and fn[res, path, stat]
96. Consider following examplefn[res, path, stat]
556req. params
This property is an object containing properties mapped to the named route “parameters”. For example, if you have the route
fn[res, path, stat]
4960, then the “name” property is available as fn[res, path, stat]
4961. This object defaults to fn[res, path, stat]
62fn[res, path, stat]
557When you use a regular expression for the route definition, capture groups are provided in the array using
fn[res, path, stat]
4963, where fn[res, path, stat]
4964 is the nth capture group. This rule is applied to unnamed wild card matches with string routes such as fn[res, path, stat]
4965fn[res, path, stat]
558If you need to make changes to a key in
fn[res, path, stat]
842, use the app. param handler. Changes are applicable only to parameters already defined in the route pathAny changes made to the
fn[res, path, stat]
842 object in a middleware or route handler will be resetNOTE. Express automatically decodes the values in
fn[res, path, stat]
842 [using fn[res, path, stat]
4969]req. path
Contains the path part of the request URL
fn[res, path, stat]
559When called from a middleware, the mount point is not included in
fn[res, path, stat]
4970. See app. use[] for more detailsreq. protocol
Chứa chuỗi giao thức yêu cầu. either
fn[res, path, stat]
4971 or [for TLS requests] fn[res, path, stat]
4972When the
fn[res, path, stat]
4624 setting does not evaluate to fn[res, path, stat]
806, this property will use the value of the fn[res, path, stat]
4975 header field if present. This header can be set by the client or by the proxyfn[res, path, stat]
590req. query
This property is an object containing a property for each query string parameter in the route. Khi trình phân tích cú pháp truy vấn được đặt thành vô hiệu hóa, nó là một đối tượng trống
fn[res, path, stat]
62, nếu không, nó là kết quả của trình phân tích cú pháp truy vấn đã định cấu hìnhAs
fn[res, path, stat]
4977’s shape is based on user-controlled input, all properties and values in this object are untrusted and should be validated before trusting. For example, fn[res, path, stat]
4978 may fail in multiple ways, for example fn[res, path, stat]
66 may not be there or may not be a string, and fn[res, path, stat]
67 may not be a function and instead a string or other user-inputThe value of this property can be configured with the query parser application setting to work how your application needs it. Trình phân tích cú pháp chuỗi truy vấn rất phổ biến là mô-đun
fn[res, path, stat]
870 và mô-đun này được sử dụng theo mặc định. The fn[res, path, stat]
870 module is very configurable with many settings, and it may be desirable to use different settings than the default to populate fn[res, path, stat]
4977fn[res, path, stat]
591Check out the query parser application setting documentation for other customization options
req. res
This property holds a reference to the response object that relates to this request object
req. route
Contains the currently-matched route, a string. For example
fn[res, path, stat]
592Example output from the previous snippet
fn[res, path, stat]
593req. secure
A Boolean property that is true if a TLS connection is established. Equivalent to the following
fn[res, path, stat]
594req. signedCookies
When using cookie-parser middleware, this property contains signed cookies sent by the request, unsigned and ready for use. Signed cookies reside in a different object to show developer intent; otherwise, a malicious attack could be placed on
fn[res, path, stat]
4984 values [which are easy to spoof]. Note that signing a cookie does not make it “hidden” or encrypted; but simply prevents tampering [because the secret used to sign is private]If no signed cookies are sent, the property defaults to
fn[res, path, stat]
62fn[res, path, stat]
595For more information, issues, or concerns, see cookie-parser
req. stale
Indicates whether the request is “stale,” and is the opposite of
fn[res, path, stat]
4986. For more information, see req. freshfn[res, path, stat]
596req. subdomains
An array of subdomains in the domain name of the request
fn[res, path, stat]
597The application property
fn[res, path, stat]
4648, which defaults to 2, is used for determining the beginning of the subdomain segments. To change this behavior, change its value using app. setreq. xhr
A Boolean property that is
fn[res, path, stat]
70 if the request’s fn[res, path, stat]
4989 header field is “XMLHttpRequest”, indicating that the request was issued by a client library such as jQueryfn[res, path, stat]
598phương pháp
req. accepts[types]
Checks if the specified content types are acceptable, based on the request’s
fn[res, path, stat]
4990 HTTP header field. The method returns the best match, or if none of the specified content types is acceptable, returns fn[res, path, stat]
806 [in which case, the application should respond with fn[res, path, stat]
4992]The
fn[res, path, stat]
56 value may be a single MIME type string [such as “application/json”], an extension name such as “json”, a comma-delimited list, or an array. For a list or array, the method returns the best match [if any]fn[res, path, stat]
599For more information, or if you have issues or concerns, see accepts
req. acceptsCharsets[charset [, . ]]
Returns the first accepted charset of the specified character sets, based on the request’s
fn[res, path, stat]
4994 HTTP header field. If none of the specified charsets is accepted, returns fn[res, path, stat]
806For more information, or if you have issues or concerns, see accepts
req. acceptEncodings[encoding [,. ]]
Returns the first accepted encoding of the specified encodings, based on the request’s
fn[res, path, stat]
4996 HTTP header field. If none of the specified encodings is accepted, returns fn[res, path, stat]
806For more information, or if you have issues or concerns, see accepts
req. acceptsLanguages[lang [, . ]]
Returns the first accepted language of the specified languages, based on the request’s
fn[res, path, stat]
4998 HTTP header field. If none of the specified languages is accepted, returns fn[res, path, stat]
806For more information, or if you have issues or concerns, see accepts
req. get[field]
Returns the specified HTTP request header field [case-insensitive match]. The
fn[res, path, stat]
5200 and fn[res, path, stat]
5201 fields are interchangeablefn[res, path, stat]
600Aliased as
fn[res, path, stat]
5202req. is[type]
Returns the matching content type if the incoming request’s “Content-Type” HTTP header field matches the MIME type specified by the
fn[res, path, stat]
56 parameter. If the request has no body, returns fn[res, path, stat]
76. Returns fn[res, path, stat]
806 otherwisefn[res, path, stat]
601For more information, or if you have issues or concerns, see type-is
req. range[size[, options]]
fn[res, path, stat]
5206 header parserThe
fn[res, path, stat]
5207 parameter is the maximum size of the resourceThe
fn[res, path, stat]
68 parameter is an object that can have the following propertiesPropertyTypeDescriptionfn[res, path, stat]
5209BooleanSpecify if overlapping & adjacent ranges should be combined, defaults to fn[res, path, stat]
806. When fn[res, path, stat]
70, ranges will be combined and returned as if they were specified that way in the headerAn array of ranges will be returned or negative numbers indicating an error parsing
5212 signals a malformed header stringfn[res, path, stat]
5213 signals an unsatisfiable rangefn[res, path, stat]
fn[res, path, stat]
602Response
The
fn[res, path, stat]
834 object represents the HTTP response that an Express app sends when it gets an HTTP requestIn this documentation and by convention, the object is always referred to as
fn[res, path, stat]
834 [and the HTTP request is fn[res, path, stat]
901] but its actual name is determined by the parameters to the callback function in which you’re workingVí dụ
fn[res, path, stat]
523But you could just as well have
fn[res, path, stat]
524The
fn[res, path, stat]
834 object is an enhanced version of Node’s own response object and supports all built-in fields and methodsCủa cải
res. app
Thuộc tính này giữ một tham chiếu đến phiên bản của ứng dụng Express đang sử dụng phần mềm trung gian
fn[res, path, stat]
5218 is identical to the req. app property in the request objectBoolean property that indicates if the app sent HTTP headers for the response
fn[res, path, stat]
605res. locals
Use this property to set variables accessible in templates rendered with res. render. The variables set on
fn[res, path, stat]
5219 are available within a single request-response cycle, and will not be shared between requestsIn order to keep local variables for use in template rendering between requests, use app. locals instead
This property is useful for exposing request-level information such as the request path name, authenticated user, user settings, and so on to templates rendered within the application
fn[res, path, stat]
606res. req
This property holds a reference to the request object that relates to this response object
phương pháp
res. append[field [, value]]
fn[res, path, stat]
5220 is supported by Express v4. 11. 0+Appends the specified
fn[res, path, stat]
4618 to the HTTP response header fn[res, path, stat]
5222. If the header is not already set, it creates the header with the specified value. The fn[res, path, stat]
4618 parameter can be a string or an arrayGhi chú. calling
fn[res, path, stat]
5224 after fn[res, path, stat]
5220 will reset the previously-set header valuefn[res, path, stat]
607res. attachment[[filename]]
Đặt trường tiêu đề phản hồi HTTP
fn[res, path, stat]
5226 thành “tệp đính kèm”. If a fn[res, path, stat]
5227 is given, then it sets the Content-Type based on the extension name via fn[res, path, stat]
5228, and sets the fn[res, path, stat]
5226 “filename=” parameterfn[res, path, stat]
608res. cookie[name, value [, options]]
Sets cookie
fn[res, path, stat]
916 to fn[res, path, stat]
4618. The fn[res, path, stat]
4618 parameter may be a string or object converted to JSONThe
fn[res, path, stat]
68 parameter is an object that can have the following propertiesPropertyTypeDescriptionfn[res, path, stat]
5234StringDomain name for the cookie. Defaults to the domain name of the app. fn[res, path, stat]
5235FunctionA synchronous function used for cookie value encoding. Defaults to fn[res, path, stat]
5236. fn[res, path, stat]
5237DateExpiry date of the cookie in GMT. If not specified or set to 0, creates a session cookie. fn[res, path, stat]
5238BooleanFlags the cookie to be accessible only by the web server. fn[res, path, stat]
812NumberConvenient option for setting the expiry time relative to the current time in milliseconds. fn[res, path, stat]
835StringPath for the cookie. Defaults to “/”. fn[res, path, stat]
5241BooleanMarks the cookie to be used with HTTPS only. fn[res, path, stat]
5242BooleanIndicates if the cookie should be signed. fn[res, path, stat]
5243Boolean or StringValue of the “SameSite” Set-Cookie attribute. More information at https. //tools. ietf. org/html/draft-ietf-httpbis-cookie-same-site-00#section-4. 1. 1All
fn[res, path, stat]
5244 does is set the HTTP fn[res, path, stat]
5245 header with the options provided. Any option not specified defaults to the value stated in RFC 6265Ví dụ
fn[res, path, stat]
609The
fn[res, path, stat]
5235 option allows you to choose the function used for cookie value encoding. Does not support asynchronous functionsExample use case. You need to set a domain-wide cookie for another site in your organization. This other site [not under your administrative control] does not use URI-encoded cookie values
fn[res, path, stat]
00The
fn[res, path, stat]
812 option is a convenience option for setting “expires” relative to the current time in milliseconds. The following is equivalent to the second example abovefn[res, path, stat]
01You can pass an object as the
fn[res, path, stat]
4618 parameter; it is then serialized as JSON and parsed by fn[res, path, stat]
5249 middlewarefn[res, path, stat]
02When using cookie-parser middleware, this method also supports signed cookies. Simply include the
fn[res, path, stat]
5242 option set to fn[res, path, stat]
70. Then fn[res, path, stat]
5244 will use the secret passed to fn[res, path, stat]
5253 to sign the valuefn[res, path, stat]
03Later you may access this value through the req. signedCookies object
res. clearCookie[name [, options]]
Clears the cookie specified by
fn[res, path, stat]
916. For details about the fn[res, path, stat]
68 object, see res. cookie[]Các trình duyệt web và ứng dụng khách tuân thủ khác sẽ chỉ xóa cookie nếu
fn[res, path, stat]
68 đã cho giống hệt với những gì được cung cấp cho res. cookie[], excluding fn[res, path, stat]
5237 and fn[res, path, stat]
812fn[res, path, stat]
04res. download[path [, filename] [, options] [, fn]]
The optional
fn[res, path, stat]
68 argument is supported by Express v4. 16. 0 onwardsTransfers the file at
fn[res, path, stat]
835 as an “attachment”. Typically, browsers will prompt the user for download. By default, the fn[res, path, stat]
5226 header “filename=” parameter is derrived from the fn[res, path, stat]
835 argument, but can be overridden with the fn[res, path, stat]
5227 parameter. If fn[res, path, stat]
835 is relative, then it will be based on the current working directory of the processThe following table provides details on the
fn[res, path, stat]
68 parameterThe optional
fn[res, path, stat]
68 argument is supported by Express v4. 16. 0 onwardsPropertyDescriptionDefaultAvailability
fn[res, path, stat]
812Sets the max-age property of the fn[res, path, stat]
811 header in milliseconds or a string in ms format04. 16+fn[res, path, stat]
818Sets the fn[res, path, stat]
819 header to the last modified date of the file on the OS. Set fn[res, path, stat]
806 to disable it. Enabled4. 16+fn[res, path, stat]
5272Object containing HTTP headers to serve with the file. The header fn[res, path, stat]
5226 will be overriden by the fn[res, path, stat]
5227 argument. 4. 16+fn[res, path, stat]
800Option for serving dotfiles. Possible values are “allow”, “deny”, “ignore”. “ignore”4. 16+fn[res, path, stat]
5276Enable or disable accepting ranged requests. fn[res, path, stat]
704. 16+fn[res, path, stat]
5278Enable or disable setting fn[res, path, stat]
811 response header. fn[res, path, stat]
704. 16+fn[res, path, stat]
809Enable or disable the fn[res, path, stat]
809 directive in the fn[res, path, stat]
811 response header. If enabled, the fn[res, path, stat]
812 option should also be specified to enable caching. The fn[res, path, stat]
809 directive will prevent supported clients from making conditional requests during the life of the fn[res, path, stat]
812 option to check if the file has changed. fn[res, path, stat]
8064. 16+The method invokes the callback function
fn[res, path, stat]
5288 when the transfer is complete or when an error occurs. If the callback function is specified and an error occurs, the callback function must explicitly handle the response process either by ending the request-response cycle, or by passing control to the next routefn[res, path, stat]
05res. end[[data] [, encoding]]
Ends the response process. This method actually comes from Node core, specifically the response. end[] method of http. ServerResponse
Use to quickly end the response without any data. If you need to respond with data, instead use methods such as res. send[] and res. json[]
fn[res, path, stat]
06res. format[object]
Performs content-negotiation on the
fn[res, path, stat]
4990 HTTP header on the request object, when present. It uses req. accepts[] to select a handler for the request, based on the acceptable types ordered by their quality values. If the header is not specified, the first callback is invoked. When no match is found, the server responds with 406 “Not Acceptable”, or invokes the fn[res, path, stat]
5290 callbackThe
fn[res, path, stat]
55 response header is set when a callback is selected. However, you may alter this within the callback using methods such as fn[res, path, stat]
5224 or fn[res, path, stat]
5228The following example would respond with
fn[res, path, stat]
5294 when the fn[res, path, stat]
4990 header field is set to “application/json” or “*/json” [however if it is “*/*”, then the response will be “hey”]fn[res, path, stat]
07In addition to canonicalized MIME types, you may also use extension names mapped to these types for a slightly less verbose implementation
fn[res, path, stat]
08res. lấy [trường]
Returns the HTTP response header specified by
fn[res, path, stat]
5222. The match is case-insensitivefn[res, path, stat]
09res. json[[body]]
Sends a JSON response. This method sends a response [with the correct content-type] that is the parameter converted to a JSON string using JSON. stringify[]
Tham số có thể là bất kỳ loại JSON nào, bao gồm đối tượng, mảng, chuỗi, Boolean, số hoặc null và bạn cũng có thể sử dụng nó để chuyển đổi các giá trị khác thành JSON
fn[res, path, stat]
10độ phân giải. jsonp[[cơ thể]]
Sends a JSON response with JSONP support. Phương thức này giống hệt với
fn[res, path, stat]
5297, ngoại trừ việc nó chọn tham gia hỗ trợ gọi lại JSONPfn[res, path, stat]
11Theo mặc định, tên gọi lại JSONP chỉ đơn giản là
fn[res, path, stat]
907. Ghi đè điều này bằng cài đặt tên gọi lại jsonpSau đây là một số ví dụ về phản hồi JSONP sử dụng cùng mã
fn[res, path, stat]
12Tham gia
fn[res, path, stat]
5299 được cung cấp làm thuộc tính của tham số để điền vào trường tiêu đề HTTP fn[res, path, stat]
5500 của phản hồiVí dụ, cuộc gọi sau
fn[res, path, stat]
13Mang lại kết quả sau
fn[res, path, stat]
14Đặt tiêu đề HTTP
fn[res, path, stat]
5501 phản hồi thành tham số fn[res, path, stat]
835 đã chỉ địnhfn[res, path, stat]
15Giá trị
fn[res, path, stat]
835 của “back” có ý nghĩa đặc biệt, nó đề cập đến URL được chỉ định trong tiêu đề fn[res, path, stat]
5201 của yêu cầu. Nếu tiêu đề fn[res, path, stat]
5201 không được chỉ định, nó đề cập đến “/”Sau khi mã hóa URL, nếu chưa được mã hóa, Express sẽ chuyển URL đã chỉ định tới trình duyệt trong tiêu đề
fn[res, path, stat]
5501 mà không cần bất kỳ xác thực nàoCác trình duyệt chịu trách nhiệm lấy URL dự định từ URL hiện tại hoặc URL giới thiệu và URL được chỉ định trong tiêu đề
fn[res, path, stat]
5501; độ phân giải. chuyển hướng [[trạng thái,] đường dẫn]
Chuyển hướng đến URL bắt nguồn từ
fn[res, path, stat]
835 được chỉ định, với fn[res, path, stat]
5509 được chỉ định, một số nguyên dương tương ứng với mã trạng thái HTTP. Nếu không được chỉ định, fn[res, path, stat]
5509 mặc định là “302 “Đã tìm thấy”fn[res, path, stat]
16Chuyển hướng có thể là một URL đủ điều kiện để chuyển hướng đến một trang web khác
fn[res, path, stat]
17Chuyển hướng có thể liên quan đến thư mục gốc của tên máy chủ. Ví dụ: nếu ứng dụng trên
fn[res, path, stat]
5511, phần sau sẽ chuyển hướng đến URL fn[res, path, stat]
5512fn[res, path, stat]
18Redirects can be relative to the current URL. For example, from
fn[res, path, stat]
5513 [notice the trailing slash], the following would redirect to the URL fn[res, path, stat]
5514fn[res, path, stat]
19Redirecting to
fn[res, path, stat]
5515 from fn[res, path, stat]
5516 [no trailing slash], will redirect to fn[res, path, stat]
5517If you found the above behavior confusing, think of path segments as directories [with trailing slashes] and files, it will start to make sense
Path-relative redirects are also possible. If you were on
fn[res, path, stat]
5511, the following would redirect to fn[res, path, stat]
5519fn[res, path, stat]
20A
fn[res, path, stat]
5520 redirection redirects the request back to the referer, defaulting to fn[res, path, stat]
4678 when the referer is missingfn[res, path, stat]
21res. render[view [, locals] [, callback]]
Renders a
fn[res, path, stat]
5522 and sends the rendered HTML string to the client. Optional parameters
5523, an object whose properties define local variables for the viewfn[res, path, stat]
907, a callback function. If provided, the method returns both the possible error and rendered string, but does not perform an automated response. When an error occurs, the method invokesfn[res, path, stat]
831 internallyfn[res, path, stat]
The
fn[res, path, stat]
5522 argument is a string that is the file path of the view file to render. This can be an absolute path, or a path relative to the fn[res, path, stat]
4653 setting. Nếu đường dẫn không chứa phần mở rộng tệp, thì cài đặt fn[res, path, stat]
4657 sẽ xác định phần mở rộng tệp. If the path does contain a file extension, then Express will load the module for the specified template engine [via fn[res, path, stat]
936] and render it using the loaded module’s fn[res, path, stat]
5530 functionFor more information, see Using template engines with Express
NOTE. The
fn[res, path, stat]
5522 argument performs file system operations like reading a file from disk and evaluating Node. js modules, and as so for security reasons should not contain input from the end-userThe local variable
fn[res, path, stat]
4614 enables view caching. Set it to fn[res, path, stat]
70, to cache the view during development; view caching is enabled in production by defaultfn[res, path, stat]
22res. send[[body]]
Sends the HTTP response
The
fn[res, path, stat]
59 parameter can be a fn[res, path, stat]
92 object, a fn[res, path, stat]
5536, an object, fn[res, path, stat]
5537, or an fn[res, path, stat]
5538. For examplefn[res, path, stat]
23This method performs many useful tasks for simple non-streaming responses. For example, it automatically assigns the
fn[res, path, stat]
5539 HTTP response header field [unless previously defined] and provides automatic HEAD and HTTP cache freshness supportWhen the parameter is a
fn[res, path, stat]
92 object, the method sets the fn[res, path, stat]
55 response header field to “application/octet-stream”, unless previously defined as shown belowfn[res, path, stat]
24When the parameter is a
fn[res, path, stat]
5536, the method sets the fn[res, path, stat]
55 to “text/html”fn[res, path, stat]
25When the parameter is an
fn[res, path, stat]
5538 or fn[res, path, stat]
5545, Express responds with the JSON representationfn[res, path, stat]
26res. sendFile[path [, options] [, fn]]
fn[res, path, stat]
5546 is supported by Express v4. 8. 0 onwardsTransfers the file at the given
fn[res, path, stat]
835. Sets the fn[res, path, stat]
55 response HTTP header field based on the filename’s extension. Unless the fn[res, path, stat]
95 option is set in the options object, fn[res, path, stat]
835 must be an absolute path to the fileThis API provides access to data on the running file system. Ensure that either [a] the way in which the
fn[res, path, stat]
835 argument was constructed into an absolute path is secure if it contains user input or [b] set the fn[res, path, stat]
95 option to the absolute path of a directory to contain access withinWhen the
fn[res, path, stat]
95 option is provided, the fn[res, path, stat]
835 argument is allowed to be a relative path, including containing fn[res, path, stat]
5555. Express will validate that the relative path provided as fn[res, path, stat]
835 will resolve within the given fn[res, path, stat]
95 optionThe following table provides details on the
fn[res, path, stat]
68 parameterPropertyDescriptionDefaultAvailability
fn[res, path, stat]
812Sets the max-age property of the fn[res, path, stat]
811 header in milliseconds or a string in ms format0fn[res, path, stat]
95Root directory for relative filenames. fn[res, path, stat]
818Sets the fn[res, path, stat]
819 header to the last modified date of the file on the OS. Set fn[res, path, stat]
806 to disable it. Enabled4. 9. 0+fn[res, path, stat]
5272Object containing HTTP headers to serve with the file. fn[res, path, stat]
800Option for serving dotfiles. Possible values are “allow”, “deny”, “ignore”. “ignore”fn[res, path, stat]
5276Enable or disable accepting ranged requests. fn[res, path, stat]
704. 14+fn[res, path, stat]
5278Enable or disable setting fn[res, path, stat]
811 response header. fn[res, path, stat]
704. 14+fn[res, path, stat]
809Enable or disable the fn[res, path, stat]
809 directive in the fn[res, path, stat]
811 response header. If enabled, the fn[res, path, stat]
812 option should also be specified to enable caching. The fn[res, path, stat]
809 directive will prevent supported clients from making conditional requests during the life of the fn[res, path, stat]
812 option to check if the file has changed. fn[res, path, stat]
8064. 16+The method invokes the callback function
fn[res, path, stat]
5288 when the transfer is complete or when an error occurs. If the callback function is specified and an error occurs, the callback function must explicitly handle the response process either by ending the request-response cycle, or by passing control to the next routeHere is an example of using
fn[res, path, stat]
5580 with all its argumentsfn[res, path, stat]
27The following example illustrates using
fn[res, path, stat]
5580 to provide fine-grained support for serving filesfn[res, path, stat]
28For more information, or if you have issues or concerns, see send
res. sendStatus[statusCode]
Sets the response HTTP status code to
fn[res, path, stat]
5582 and sends the registered status message as the text response body. If an unknown status code is specified, the response body will just be the code numberfn[res, path, stat]
29Some versions of Node. js will throw when
fn[res, path, stat]
5583 is set to an invalid HTTP status code [outside of the range fn[res, path, stat]
5584 to fn[res, path, stat]
5585]. Tham khảo tài liệu máy chủ HTTP cho Node. phiên bản js đang được sử dụngTìm hiểu thêm về Mã trạng thái HTTP
độ phân giải. đặt [trường [, giá trị]]
Đặt tiêu đề HTTP của phản hồi
fn[res, path, stat]
5222 thành fn[res, path, stat]
4618. Để đặt nhiều trường cùng một lúc, hãy chuyển một đối tượng làm tham sốfn[res, path, stat]
30Bí danh là
fn[res, path, stat]
5588độ phân giải. trạng thái [mã]
Đặt trạng thái HTTP cho phản hồi. Nó là bí danh có thể xâu chuỗi của phản hồi của Node. mã trạng thái
fn[res, path, stat]
31độ phân giải. loại[loại]
Đặt tiêu đề HTTP
fn[res, path, stat]
55 thành loại MIME như được xác định bởi fn[res, path, stat]
56 đã chỉ định. Nếu fn[res, path, stat]
56 chứa ký tự “/”, thì nó đặt fn[res, path, stat]
55 thành giá trị chính xác của fn[res, path, stat]
56, nếu không, nó được coi là phần mở rộng tệp và loại MIME được tra cứu trong ánh xạ bằng phương pháp fn[res, path, stat]
5594fn[res, path, stat]
32độ phân giải. thay đổi [lĩnh vực]
Thêm trường vào tiêu đề phản hồi
fn[res, path, stat]
5595, nếu nó chưa cófn[res, path, stat]
33bộ định tuyến
Một đối tượng
fn[res, path, stat]
848 là một trường hợp riêng biệt của phần mềm trung gian và các tuyến đường. Bạn có thể coi nó như một “ứng dụng nhỏ”, chỉ có khả năng thực hiện các chức năng định tuyến và phần mềm trung gian. Mọi ứng dụng Express đều có bộ định tuyến ứng dụng tích hợpBộ định tuyến hoạt động giống như chính phần mềm trung gian, vì vậy bạn có thể sử dụng nó làm đối số cho ứng dụng. use[] hoặc làm đối số cho phương thức use[] của bộ định tuyến khác
Đối tượng
fn[res, path, stat]
54 cấp cao nhất có phương thức Bộ định tuyến [] tạo đối tượng fn[res, path, stat]
848 mớiKhi bạn đã tạo một đối tượng bộ định tuyến, bạn có thể thêm phần mềm trung gian và các tuyến phương thức HTTP [chẳng hạn như
fn[res, path, stat]
845, fn[res, path, stat]
846, fn[res, path, stat]
847, v.v.] vào nó giống như một ứng dụng. Ví dụfn[res, path, stat]
34Sau đó, bạn có thể sử dụng bộ định tuyến cho một URL gốc cụ thể theo cách này, tách các tuyến đường của bạn thành các tệp hoặc thậm chí là các ứng dụng nhỏ
fn[res, path, stat]
35phương pháp
bộ định tuyến. tất cả [đường dẫn, [gọi lại,. ] gọi lại]
Phương thức này giống như các phương thức
fn[res, path, stat]
5902, ngoại trừ việc nó phù hợp với tất cả các phương thức HTTP [động từ]Phương pháp này cực kỳ hữu ích để ánh xạ logic “toàn cầu” cho các tiền tố đường dẫn cụ thể hoặc các đối sánh tùy ý. Ví dụ: nếu bạn đặt tuyến đường sau ở trên cùng của tất cả các định nghĩa tuyến đường khác, nó sẽ yêu cầu tất cả các tuyến đường từ thời điểm đó trở đi sẽ yêu cầu xác thực và tự động tải người dùng. Hãy nhớ rằng những cuộc gọi lại này không phải đóng vai trò là điểm cuối;
fn[res, path, stat]
36Hoặc tương đương
fn[res, path, stat]
37Một ví dụ khác về điều này là chức năng “toàn cầu” được liệt kê trắng. Đây là ví dụ giống như trước, nhưng nó chỉ giới hạn các đường dẫn có tiền tố là “/api”
fn[res, path, stat]
38bộ định tuyến. PHƯƠNG PHÁP [đường dẫn, [gọi lại,. ] gọi lại]
Các phương thức
fn[res, path, stat]
5902 cung cấp chức năng định tuyến trong Express, trong đó METHOD là một trong các phương thức HTTP, chẳng hạn như GET, PUT, POST, v.v., viết thường. Do đó, các phương pháp thực tế là fn[res, path, stat]
5906, fn[res, path, stat]
5907, fn[res, path, stat]
5908, v.v.Hàm
fn[res, path, stat]
5906 được gọi tự động cho phương thức HTTP fn[res, path, stat]
986 ngoài phương thức fn[res, path, stat]
987 nếu trước đó fn[res, path, stat]
5912 không gọi cho đường dẫn fn[res, path, stat]
5906Bạn có thể cung cấp nhiều cuộc gọi lại và tất cả đều được xử lý như nhau và hoạt động giống như phần mềm trung gian, ngoại trừ việc các cuộc gọi lại này có thể gọi
fn[res, path, stat]
908 để bỏ qua [các] cuộc gọi lại tuyến đường còn lại. Bạn có thể sử dụng cơ chế này để thực hiện các điều kiện trước trên một tuyến đường, sau đó chuyển quyền kiểm soát cho các tuyến tiếp theo khi không có lý do gì để tiếp tục với tuyến đã khớpĐoạn mã sau minh họa định nghĩa tuyến đường đơn giản nhất có thể. Express dịch các chuỗi đường dẫn thành các biểu thức thông thường, được sử dụng nội bộ để khớp với các yêu cầu đến. Các chuỗi truy vấn không được xem xét khi thực hiện các kết quả khớp này, ví dụ: “GET /” sẽ khớp với tuyến sau, cũng như “GET /?name=tobi”
fn[res, path, stat]
39Bạn cũng có thể sử dụng các biểu thức chính quy—hữu ích nếu bạn có các ràng buộc rất cụ thể, ví dụ: các ràng buộc sau sẽ khớp với “GET /commits/71dbb9c” cũng như “GET /commits/71dbb9c”. 4c084f9”
fn[res, path, stat]
40Bạn có thể sử dụng nguyên hàm
fn[res, path, stat]
995 để triển khai kiểm soát luồng giữa các chức năng phần mềm trung gian khác nhau, dựa trên trạng thái chương trình cụ thể. Gọi fn[res, path, stat]
995 với chuỗi fn[res, path, stat]
5917 sẽ khiến tất cả các cuộc gọi lại tuyến đường còn lại trên bộ định tuyến đó bị bỏ quaVí dụ sau minh họa cách sử dụng
fn[res, path, stat]
5918fn[res, path, stat]
41bộ định tuyến. param[tên, gọi lại]
Thêm trình kích hoạt gọi lại vào các tham số định tuyến, trong đó
fn[res, path, stat]
916 là tên của tham số và fn[res, path, stat]
907 là chức năng gọi lại. Mặc dù fn[res, path, stat]
916 là tùy chọn về mặt kỹ thuật, việc sử dụng phương pháp này mà không có nó không được chấp nhận bắt đầu với Express v4. 11. 0 [xem bên dưới]Các tham số của hàm gọi lại là
901, đối tượng yêu cầufn[res, path, stat]
834, đối tượng phản hồifn[res, path, stat]
995, cho biết chức năng phần mềm trung gian tiếp theofn[res, path, stat]
- Giá trị của tham số
916fn[res, path, stat]
- Tên của thông số
Không giống như
fn[res, path, stat]
5926, fn[res, path, stat]
5927 không chấp nhận một mảng tham số tuyến đườngVí dụ: khi có
fn[res, path, stat]
998 trong đường dẫn tuyến đường, bạn có thể ánh xạ logic tải của người dùng để tự động cung cấp fn[res, path, stat]
999 cho tuyến đường hoặc thực hiện xác thực trên đầu vào tham sốfn[res, path, stat]
42Các chức năng gọi lại tham số là cục bộ của bộ định tuyến mà chúng được xác định. Chúng không được kế thừa bởi các ứng dụng hoặc bộ định tuyến được gắn kết. Do đó, các cuộc gọi lại param được xác định trên
fn[res, path, stat]
848 sẽ chỉ được kích hoạt bởi các tham số tuyến đường được xác định trên các tuyến đường fn[res, path, stat]
848Một cuộc gọi lại param sẽ chỉ được gọi một lần trong chu kỳ phản hồi yêu cầu, ngay cả khi tham số được so khớp trong nhiều tuyến, như minh họa trong các ví dụ sau
fn[res, path, stat]
43Trên
fn[res, path, stat]
4602, phần sau được infn[res, path, stat]
91Phần sau đây mô tả
fn[res, path, stat]
5933, không được dùng nữa kể từ v4. 11. 0Hành vi của phương thức
fn[res, path, stat]
5934 có thể được thay đổi hoàn toàn bằng cách chỉ chuyển một hàm cho fn[res, path, stat]
5927. Hàm này là một triển khai tùy chỉnh về cách hoạt động của fn[res, path, stat]
5934 - nó chấp nhận hai tham số và phải trả về một phần mềm trung gianTham số đầu tiên của hàm này là tên của tham số URL cần được ghi lại, tham số thứ hai có thể là bất kỳ đối tượng JavaScript nào có thể được sử dụng để trả về triển khai phần mềm trung gian
Phần mềm trung gian được trả về bởi hàm quyết định hành vi của những gì sẽ xảy ra khi tham số URL bị bắt
Trong ví dụ này, chữ ký
fn[res, path, stat]
5934 được sửa đổi thành fn[res, path, stat]
5938. Thay vì chấp nhận tên và gọi lại, giờ đây, fn[res, path, stat]
5927 sẽ chấp nhận tên và sốfn[res, path, stat]
45Trong ví dụ này, chữ ký
fn[res, path, stat]
5934 vẫn giữ nguyên, nhưng thay vì gọi lại phần mềm trung gian, chức năng kiểm tra loại dữ liệu tùy chỉnh đã được xác định để xác thực loại dữ liệu của id người dùngfn[res, path, stat]
46bộ định tuyến. lộ trình [đường đi]
Trả về một thể hiện của một tuyến mà sau đó bạn có thể sử dụng để xử lý các động từ HTTP với phần mềm trung gian tùy chọn. Sử dụng
fn[res, path, stat]
5941 để tránh đặt tên tuyến đường trùng lặp và do đó đánh máy lỗiDựa trên ví dụ về
fn[res, path, stat]
5927 ở trên, đoạn mã sau cho biết cách sử dụng fn[res, path, stat]
5941 để chỉ định các trình xử lý phương thức HTTP khác nhaufn[res, path, stat]
47Cách tiếp cận này sử dụng lại đường dẫn
fn[res, path, stat]
5944 duy nhất và thêm trình xử lý cho các phương thức HTTP khác nhauGHI CHÚ. Khi bạn sử dụng
fn[res, path, stat]
5941, thứ tự phần mềm trung gian dựa trên thời điểm tạo tuyến, không phải khi trình xử lý phương thức được thêm vào tuyến. Với mục đích này, bạn có thể coi các trình xử lý phương thức thuộc về tuyến đường mà chúng được thêm vàobộ định tuyến. sử dụng [[đường dẫn], [chức năng,. ] hàm số]
Sử dụng chức năng hoặc chức năng phần mềm trung gian được chỉ định, với đường dẫn gắn kết tùy chọn
fn[res, path, stat]
835, mặc định là “/”Phương pháp này tương tự như ứng dụng. sử dụng[]. Một ví dụ đơn giản và trường hợp sử dụng được mô tả bên dưới. xem ứng dụng. sử dụng [] để biết thêm thông tin
Phần mềm trung gian giống như một đường ống dẫn nước. các yêu cầu bắt đầu tại chức năng phần mềm trung gian đầu tiên được xác định và hoạt động theo cách của chúng "xuống" quá trình xử lý ngăn xếp phần mềm trung gian cho từng đường dẫn mà chúng khớp
fn[res, path, stat]
48Đường dẫn "gắn kết" bị tước và không hiển thị đối với chức năng phần mềm trung gian. Tác dụng chính của tính năng này là chức năng phần mềm trung gian được gắn có thể hoạt động mà không cần thay đổi mã bất kể tên đường dẫn "tiền tố" của nó
Thứ tự mà bạn xác định phần mềm trung gian với
fn[res, path, stat]
5947 là rất quan trọng. Chúng được gọi tuần tự, do đó thứ tự xác định mức độ ưu tiên của phần mềm trung gian. Ví dụ: thông thường, trình ghi nhật ký là phần mềm trung gian đầu tiên bạn sẽ sử dụng để mọi yêu cầu được ghi lạifn[res, path, stat]
49Bây giờ, giả sử bạn muốn bỏ qua các yêu cầu ghi nhật ký cho các tệp tĩnh, nhưng để tiếp tục ghi nhật ký các tuyến đường và phần mềm trung gian được xác định sau
fn[res, path, stat]
5948. Bạn chỉ cần di chuyển cuộc gọi đến fn[res, path, stat]
5949 lên trên cùng, trước khi thêm phần mềm trung gian loggerfn[res, path, stat]
50Một ví dụ khác là phục vụ tệp từ nhiều thư mục, ưu tiên cho “. /public” so với những cái khác
fn[res, path, stat]
522Phương pháp
fn[res, path, stat]
5947 cũng hỗ trợ các tham số được đặt tên để các điểm gắn kết của bạn cho các bộ định tuyến khác có thể được hưởng lợi từ việc tải trước bằng các tham số được đặt tênGHI CHÚ. Mặc dù các chức năng phần mềm trung gian này được thêm thông qua một bộ định tuyến cụ thể, nhưng khi chúng chạy được xác định bởi đường dẫn mà chúng được gắn vào [không phải bộ định tuyến]. Do đó, phần mềm trung gian được thêm qua một bộ định tuyến có thể chạy cho các bộ định tuyến khác nếu các tuyến của nó khớp. Ví dụ: mã này hiển thị hai bộ định tuyến khác nhau được gắn trên cùng một đường dẫn
fn[res, path, stat]
52Mặc dù phần mềm trung gian xác thực đã được thêm thông qua
fn[res, path, stat]
5951 nhưng nó cũng sẽ chạy trên các tuyến được xác định bởi fn[res, path, stat]
5952 vì cả hai bộ định tuyến đều được gắn trên fn[res, path, stat]
5953. Để tránh hành vi này, hãy sử dụng các đường dẫn khác nhau cho mỗi bộ định tuyến