Gửi mảng từ Node JS sang HTML
Tạo một ứng dụng Express. Hàm 53 là hàm cấp cao nhất được xuất bởi mô-đun 54 Show
phương phápbà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 đề 55 khớp với tùy chọn 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 57 và 58Đối tượng 59 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng 60 sau phần mềm trung gian (i. e. 61) hoặc một đối tượng trống ( 62) nếu không có nội dung để phân tích cú pháp, 55 không khớp hoặc xảy ra lỗiVì hình dạng của 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ụ: 65 có thể bị lỗi theo nhiều cách, chẳng hạn như 66 có thể không ở đó hoặc có thể không phải là một chuỗi và 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 68Thuộc tínhDescriptionTypeDefault 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; . Boolean 70 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ợp 72 73Tùy chọn 73 được chuyển trực tiếp tới 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àm 76____077Cho phép hoặc không cho phép chỉ chấp nhận mảng và đối tượng; . Boolean 70 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 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ư 82), loại kịch câm (như 83) hoặc loại kịch câm có ký tự đại diện (như 84 hoặc 85). Nếu là một hàm, tùy chọn 56 được gọi là 87 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixed 88 89Tùy chọn này, nếu được cung cấp, được gọi là 90, trong đó 91 là một 92 của nội dung yêu cầu thô và 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ố 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 96 với thư mục 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 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 68. Xem thêm ví dụ bên dướiThuộc tínhDescriptionTypeDefault 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” 801Bật hoặc tắt tạo etagGHI CHÚ. 802 luôn gửi ETags yếuBoolean 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ụ. 805. Mixed 806 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 Boolean 70____4809Bật hoặc tắt chỉ thị 809 trong tiêu đề phản hồi 811. Nếu được bật, tùy chọn 812 cũng phải được chỉ định để bật bộ nhớ đệm. Chỉ thị 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 812 để kiểm tra xem tệp đã thay đổi chưa. Boolean 806 816Gửi tệp chỉ mục thư mục được chỉ định. Đặt thành 806 để tắt lập chỉ mục thư mục. “chỉ số” hỗn hợp. html” 818Đặt tiêu đề 819 thành ngày sửa đổi cuối cùng của tệp trên HĐH. Boolean 70 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. Number0 822Chuyển hướng đến dấu “/” khi tên đường dẫn là một thư mục. Boolean 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à
thất bạiKhi tùy chọn này là 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 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 831Đặt tùy chọn này thành 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 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à
Tranh luận
Ví dụ về chuyển phát nhanh. tĩnhDưới đây là một ví dụ về việc sử dụng chức năng phần mềm trung gian 802 với một đối tượng tùy chọn phức tạp 8bày tỏ. Bộ định tuyến([tùy chọn])Tạo một đối tượng bộ định tuyến mới 9Tham số 68 tùy chọn chỉ định hành vi của bộ định tuyếnPropertyDescriptionDefaultAvailability 840Enable case sensitivity. Bị tắt theo mặc định, xử lý “/Foo” và “/foo” như nhau. 841Duy trì các giá trị 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. 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ư 845, 846, 847, v.v.) vào 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 đề 55 khớp với tùy chọn 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 57 và 58Đối tượng 59 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng 60 sau phần mềm trung gian (i. e. 61) hoặc một đối tượng trống ( 62) nếu không có nội dung để phân tích cú pháp, 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 858 là 806) hoặc bất kỳ loại nào (khi 858 là 70)Vì hình dạng của 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ụ: 65 có thể bị lỗi theo nhiều cách, chẳng hạn như 66 có thể không ở đó hoặc có thể không phải là một chuỗi và 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 68PropertyDescriptionTypeDefault 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 868 (khi 806) hoặc thư viện 870 (khi 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 806 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; . Boolean 70 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; . Mixed 72 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ố____4878 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 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ư 881), loại kịch câm (như 882) hoặc loại kịch câm có ký tự đại diện (như 883). Nếu là một hàm, tùy chọn 56 được gọi là 87 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixed 886 89Tùy chọn này, nếu được cung cấp, được gọi là 90, trong đó 91 là một 92 của nội dung yêu cầu thô và 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 893 thường biểu thị ứng dụng Express. Tạo nó bằng cách gọi hàm 53 cấp cao nhất được xuất bởi mô-đun Express 46Đối tượng 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 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ất 49Sau khi được đặt, giá trị của các thuộc tính 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 898 (xem yêu cầu. ứng dụng) 52ứng dụng. đường leo núiThuộc tính 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 54 có thể được sử dụng để xử lý yêu cầu tới một tuyến đường 55Nó tương tự như thuộc tính baseUrl của đối tượng 901, ngoại trừ 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ì 899 sẽ trả về danh sách các mẫu được gắn trên đó, như minh họa trong ví dụ sau 59ứng dụng. bộ định tuyếnPhiê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 60Bạn có thể thêm các tuyến phương thức HTTP và phần mềm trung gian vào 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 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ẽ
Để biết chi tiết, hãy xem Cài đặt ứng dụng 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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 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ác 1Phương thức 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. 911 có thể thực hiện một nhiệm vụ, sau đó gọi 98 để tiếp tục khớp các tuyến tiếp theo 2Hoặc tương đương 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” 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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ụ 5ứng dụng. vô hiệu hóa (tên)Đặt cài đặt Boolean 916 thành 806, trong đó 916 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Gọi 919 cho thuộc tính Boolean cũng giống như gọi 920Ví dụ 6ứng dụng. bị vô hiệu hóa (tên)Trả về 70 nếu cài đặt Boolean 916 bị tắt ( 806), trong đó 916 là một trong các thuộc tính từ bảng cài đặt ứng dụng 7ứng dụng. kích hoạt (tên)Đặt cài đặt Boolean 916 thành 70, trong đó 916 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Gọi 928 cho một thuộc tính Boolean cũng giống như gọi 929 8ứng dụng. đã bật (tên)Trả về 70 nếu cài đặt 916 được bật ( 70), trong đó 916 là một trong các thuộc tính từ bảng cài đặt ứng dụng 9ứng dụng. động cơ (ext, gọi lại)Đăng ký công cụ mẫu đã cho 907 thành 935Theo mặc định, Express sẽ 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 936 trong các lệnh gọi tiếp theo để tăng hiệu suất 80Sử dụng phương pháp này cho các công cụ không cung cấp 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” 81Trong trường hợp này, EJS cung cấp phương thức 939 có cùng chữ ký mà Express mong đợi. 940, mặc dù lưu ý rằng nó đặt bí danh cho phương pháp này là 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 82ứng dụng. lấy (tên)Trả về giá trị của cài đặt ứng dụng 916, trong đó 916 là một trong các chuỗi trong bảng cài đặt ứng dụng. Ví dụ 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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ụ 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() 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. ) 86 893 được trả về bởi 53 trên thực tế là một JavaScript 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) 87Phương thức 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 đây 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à 951, 952, 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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ếnExpress 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
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 951, 952, 953 và 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ụ: 984Hàm 951 được tự động gọi cho phương thức HTTP 986 ngoài phương thức 987 nếu trước đó 988 không gọi cho đường dẫn 951Phương thức, 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 đó 916 là tên của tham số hoặc một mảng của chúng và 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 916 là một mảng, trình kích hoạt 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 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 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 916 chỉ là một chuỗiVí dụ: khi có 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 999 cho tuyến đường hoặc thực hiện xác thực trên đầu vào tham số 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 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 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 90Trên 4602, phần sau được in 91 92Trên 4603, phần sau được in 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 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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ụ 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ậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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ụ 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 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ề 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ộ 4612 sử dụng 4611 để hiển thị chế độ xemBiến cục bộ 4614 được dành riêng để bật chế độ xem bộ đệm. Đặt nó thành 70, nếu bạn muốn xem bộ đệm trong quá trình phát triển; 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 4616 để tránh tên tuyến đường trùng lặp (và do đó là lỗi đánh máy) 98ứng dụng. đặt (tên, giá trị)Chỉ định cài đặt 916 thành 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 928 cho một thuộc tính Boolean cũng giống như gọi 929. Tương tự, gọi 919 cho một thuộc tính Boolean cũng giống như gọi 920Truy xuất giá trị của cài đặt với 951 99Cài đặt ứng dụngBảng sau liệt kê các cài đặt ứng dụng Lưu ý rằng các ứng dụng phụ sẽ
ngoại lệ. Các ứng dụng phụ sẽ kế thừa giá trị của 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 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) 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ậy 4629 (biến môi trường 4626) hoặc “phát triển” nếu không đặt 4626 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 801Tìm hiểu thêm về tiêu đề HTTP ETag 4634 4635StringChỉ định tên gọi lại JSONP mặc định"gọi lại" 4636BooleanCho phép thoát các phản hồi JSON từ API 4637, 4638 và 4639. Điều này sẽ thoát khỏi các ký tự 4640, 4641 và 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) 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) 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) 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 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" 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) 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ụ. 2 4624đa dạngCho biết ứng dụng đứng sau proxy mặt trước và sử dụng tiêu đề 4650 để xác định kết nối và địa chỉ IP của ứng dụng khách. GHI CHÚ. Tiêu đề 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 806 (đã tắt) 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 array 4654 4625BooleanEnables view template compilation caching NOTE. Sub-apps will not inherit the value of this setting in production (when `NODE_ENV` is "production") 70 in production, otherwise undefined 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) 4658BooleanEnables the "X-Powered-By. Express" tiêu đề HTTP 70Options for `trust proxy` settingRead Express behind proxies for more information TypeValueBooleanIf 70, the client’s IP address is understood as the left-most entry in the 4650 headerIf 806, the app is understood as directly facing the Internet and the client’s IP address is derived from 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
Set IP addresses in any of the following ways Specify a single subnet 460Specify a subnet and an address 461Specify multiple subnets as CSV 462Specify multiple subnets as an array 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 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 TypeValueBoolean 70 enables weak ETag. This is the default setting. 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 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 835Tranh luậnArgumentDescriptionDefault____4835Đường dẫn mà chức năng phần mềm trung gian được gọi;
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 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óDescriptionA route will match any path that follows its path immediately with a “ 4678”. For example. 4679 will match “/apple”, “/apple/images”, “/apple/images/news”, and so onSince 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. 466GHI CHÚ Các ứng dụng phụ sẽ
Để 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 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 995 object, you must specify it to maintain the signature. Otherwise, the 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 4683) 468Path examplesThe following table provides some simple examples of valid 835 values for mounting middlewareTypeExamplePath This will match paths starting with 4685 469Path PatternThis will match paths starting with 4685 and 4687 490Regular ExpressionThis will match paths starting with 4688 and 4689 491ArrayThis will match paths starting with 4685, 4691, 4692, and 4693 492Middleware callback function examplesBả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ố 907 cho 4695, 4696 và 910. Even though the examples are for 4695, they are also valid for 4695, 4696, and 910UsageExampleSingle MiddlewareYou can define and mount a middleware function locally 493Bộ định tuyến là phần mềm trung gian hợp lệ 494An Express app is valid middleware 495Series of MiddlewareYou can specify more than one middleware function at the same mount path 496MảngUse an array to group middleware logically 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 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 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” 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 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 522Lời yêu cầuĐối tượng 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à 901 (và phản hồi HTTP là 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ụ 523But you could just as well have 524The 901 object is an enhanced version of Node’s own request object and supports all built-in fields and methodsCủa cảireq. appThuộ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 936 it in your main file, then the middleware can access the Express instance via 4907Ví dụ 525 526req. baseUrlThe URL path on which a router instance was mounted The 902 property is similar to the mountpath property of the 893 object, except 899 returns the matched path pattern(s)Ví dụ 527Even if you use a path pattern or a set of path patterns to load the router, the 4911 property returns the matched string, not the pattern(s). In the following example, the 4912 router is loaded on two path patterns 528When a request is made to 4913, 902 is “/greet”. When a request is made to 4915, 902 is “/hello”req. bodyContains key-value pairs of data submitted in the request body. By default, it is 94, and is populated when you use body-parsing middleware such as body-parser and multerVì hình dạng của 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ụ: 65 có thể bị lỗi theo nhiều cách, chẳng hạn như 66 có thể không ở đó hoặc có thể không phải là một chuỗi và 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 61 529req. cookiesWhen 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 62 550If the cookie has been signed, you have to use req. signedCookies For more information, issues, or concerns, see cookie-parser req. freshWhen the response is still “fresh” in the client’s cache 70 is returned, otherwise 806 is returned to indicate that the client cache is now stale and the full response should be sentWhen a client sends the 4926 request header to indicate an end-to-end reload request, this module will return 806 to make handling these requests transparentFurther details for how cache validation works can be found in the HTTP/1. 1 Caching Specification 551req. hostContains the host derived from the 4928 HTTP headerWhen the 4624 setting does not evaluate to 806, this property will instead get the value from the 4931 header field. This header can be set by the client or by the proxyIf there is more than one 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 used 552req. hostnameContains the hostname derived from the 4928 HTTP headerWhen the 4624 setting does not evaluate to 806, this property will instead get the value from the 4931 header field. This header can be set by the client or by the proxyIf there is more than one 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 4931 could not contain multiple values or be present more than once 553req. ipContains the remote IP address of the request When the 4624 setting does not evaluate to 806, the value of this property is derived from the left-most entry in the 4941 header. This header can be set by the client or by the proxy 554req. ipsWhen the 4624 setting does not evaluate to 806, this property contains an array of IP addresses specified in the 4941 request header. Otherwise, it contains an empty array. This header can be set by the client or by the proxyFor example, if 4941 is 4946, 4947 would be 4948, where 4949 is the furthest downstreamreq. methodContains a string corresponding to the HTTP method of the request. 987, 4951, 4952, and so onreq. originalUrl 96 is not a native Express property, it is inherited from Node’s http moduleThis property is much like 96; however, it retains the original request URL, allowing you to rewrite 96 freely for internal routing purposes. For example, the “mounting” feature of app. use() will rewrite 96 to strip the mount point 555 4957 is available both in middleware and router objects, and is a combination of 902 and 96. Consider following example 556req. paramsThis property is an object containing properties mapped to the named route “parameters”. For example, if you have the route 4960, then the “name” property is available as 4961. This object defaults to 62 557When you use a regular expression for the route definition, capture groups are provided in the array using 4963, where 4964 is the nth capture group. This rule is applied to unnamed wild card matches with string routes such as 4965 558If you need to make changes to a key in 842, use the app. param handler. Changes are applicable only to parameters already defined in the route pathAny changes made to the 842 object in a middleware or route handler will be resetNOTE. Express automatically decodes the values in 842 (using 4969)req. pathContains the path part of the request URL 559When called from a middleware, the mount point is not included in 4970. See app. use() for more detailsreq. protocolChứa chuỗi giao thức yêu cầu. either 4971 or (for TLS requests) 4972When the 4624 setting does not evaluate to 806, this property will use the value of the 4975 header field if present. This header can be set by the client or by the proxy 590req. queryThis 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 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 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, 4978 may fail in multiple ways, for example 66 may not be there or may not be a string, and 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 870 và mô-đun này được sử dụng theo mặc định. The 870 module is very configurable with many settings, and it may be desirable to use different settings than the default to populate 4977 591Check out the query parser application setting documentation for other customization options req. resThis property holds a reference to the response object that relates to this request object req. routeContains the currently-matched route, a string. For example 592Example output from the previous snippet 593req. secureA Boolean property that is true if a TLS connection is established. Equivalent to the following 594req. signedCookiesWhen 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 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 62 595For more information, issues, or concerns, see cookie-parser req. staleIndicates whether the request is “stale,” and is the opposite of 4986. For more information, see req. fresh 596req. subdomainsAn array of subdomains in the domain name of the request 597The application property 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. xhrA Boolean property that is 70 if the request’s 4989 header field is “XMLHttpRequest”, indicating that the request was issued by a client library such as jQuery 598phương phápreq. accepts(types)Checks if the specified content types are acceptable, based on the request’s 4990 HTTP header field. The method returns the best match, or if none of the specified content types is acceptable, returns 806 (in which case, the application should respond with 4992)The 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) 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 4994 HTTP header field. If none of the specified charsets is accepted, returns 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 4996 HTTP header field. If none of the specified encodings is accepted, returns 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 4998 HTTP header field. If none of the specified languages is accepted, returns 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 5200 and 5201 fields are interchangeable 600Aliased as 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 56 parameter. If the request has no body, returns 76. Returns 806 otherwise 601For more information, or if you have issues or concerns, see type-is req. range(size[, options]) 5206 header parserThe 5207 parameter is the maximum size of the resourceThe 68 parameter is an object that can have the following propertiesPropertyTypeDescription 5209BooleanSpecify if overlapping & adjacent ranges should be combined, defaults to 806. When 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
602ResponseThe 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 834 (and the HTTP request is 901) but its actual name is determined by the parameters to the callback function in which you’re workingVí dụ 523But you could just as well have 524The 834 object is an enhanced version of Node’s own response object and supports all built-in fields and methodsCủa cảires. appThuộ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 5218 is identical to the req. app property in the request objectBoolean property that indicates if the app sent HTTP headers for the response 605res. localsUse this property to set variables accessible in templates rendered with res. render. The variables set on 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 606res. reqThis property holds a reference to the request object that relates to this response object phương phápres. append(field [, value]) 5220 is supported by Express v4. 11. 0+Appends the specified 4618 to the HTTP response header 5222. If the header is not already set, it creates the header with the specified value. The 4618 parameter can be a string or an arrayGhi chú. calling 5224 after 5220 will reset the previously-set header value 607res. attachment([filename])Đặt trường tiêu đề phản hồi HTTP 5226 thành “tệp đính kèm”. If a 5227 is given, then it sets the Content-Type based on the extension name via 5228, and sets the 5226 “filename=” parameter 608res. cookie(name, value [, options])Sets cookie 916 to 4618. The 4618 parameter may be a string or object converted to JSONThe 68 parameter is an object that can have the following propertiesPropertyTypeDescription 5234StringDomain name for the cookie. Defaults to the domain name of the app. 5235FunctionA synchronous function used for cookie value encoding. Defaults to 5236. 5237DateExpiry date of the cookie in GMT. If not specified or set to 0, creates a session cookie. 5238BooleanFlags the cookie to be accessible only by the web server. 812NumberConvenient option for setting the expiry time relative to the current time in milliseconds. 835StringPath for the cookie. Defaults to “/”. 5241BooleanMarks the cookie to be used with HTTPS only. 5242BooleanIndicates if the cookie should be signed. 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 5244 does is set the HTTP 5245 header with the options provided. Any option not specified defaults to the value stated in RFC 6265Ví dụ 609The 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 00The 812 option is a convenience option for setting “expires” relative to the current time in milliseconds. The following is equivalent to the second example above 01You can pass an object as the 4618 parameter; it is then serialized as JSON and parsed by 5249 middleware 02When using cookie-parser middleware, this method also supports signed cookies. Simply include the 5242 option set to 70. Then 5244 will use the secret passed to 5253 to sign the value 03Later you may access this value through the req. signedCookies object res. clearCookie(name [, options])Clears the cookie specified by 916. For details about the 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 68 đã cho giống hệt với những gì được cung cấp cho res. cookie(), excluding 5237 and 812 04res. download(path [, filename] [, options] [, fn])The optional 68 argument is supported by Express v4. 16. 0 onwardsTransfers the file at 835 as an “attachment”. Typically, browsers will prompt the user for download. By default, the 5226 header “filename=” parameter is derrived from the 835 argument, but can be overridden with the 5227 parameter. If 835 is relative, then it will be based on the current working directory of the processThe following table provides details on the 68 parameterThe optional 68 argument is supported by Express v4. 16. 0 onwardsPropertyDescriptionDefaultAvailability 812Sets the max-age property of the 811 header in milliseconds or a string in ms format04. 16+ 818Sets the 819 header to the last modified date of the file on the OS. Set 806 to disable it. Enabled4. 16+ 5272Object containing HTTP headers to serve with the file. The header 5226 will be overriden by the 5227 argument. 4. 16+ 800Option for serving dotfiles. Possible values are “allow”, “deny”, “ignore”. “ignore”4. 16+ 5276Enable or disable accepting ranged requests. 704. 16+ 5278Enable or disable setting 811 response header. 704. 16+ 809Enable or disable the 809 directive in the 811 response header. If enabled, the 812 option should also be specified to enable caching. The 809 directive will prevent supported clients from making conditional requests during the life of the 812 option to check if the file has changed. 8064. 16+The method invokes the callback function 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 route 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() 06res. format(object)Performs content-negotiation on the 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 5290 callbackThe 55 response header is set when a callback is selected. However, you may alter this within the callback using methods such as 5224 or 5228The following example would respond with 5294 when the 4990 header field is set to “application/json” or “*/json” (however if it is “*/*”, then the response will be “hey”) 07In addition to canonicalized MIME types, you may also use extension names mapped to these types for a slightly less verbose implementation 08res. lấy (trường)Returns the HTTP response header specified by 5222. The match is case-insensitive 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 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 5297, ngoại trừ việc nó chọn tham gia hỗ trợ gọi lại JSONP 11Theo mặc định, tên gọi lại JSONP chỉ đơn giản là 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ã 12Tham gia 5299 được cung cấp làm thuộc tính của tham số để điền vào trường tiêu đề HTTP 5500 của phản hồiVí dụ, cuộc gọi sau 13Mang lại kết quả sau 14Đặt tiêu đề HTTP 5501 phản hồi thành tham số 835 đã chỉ định 15Giá trị 835 của “back” có ý nghĩa đặc biệt, nó đề cập đến URL được chỉ định trong tiêu đề 5201 của yêu cầu. Nếu tiêu đề 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 đề 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 đề 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ừ 835 được chỉ định, với 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, 5509 mặc định là “302 “Đã tìm thấy” 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 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 5511, phần sau sẽ chuyển hướng đến URL 5512 18Redirects can be relative to the current URL. For example, from 5513 (notice the trailing slash), the following would redirect to the URL 5514 19Redirecting to 5515 from 5516 (no trailing slash), will redirect to 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 5511, the following would redirect to 5519 20A 5520 redirection redirects the request back to the referer, defaulting to 4678 when the referer is missing 21res. render(view [, locals] [, callback])Renders a 5522 and sends the rendered HTML string to the client. Optional parameters
The 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 4653 setting. Nếu đường dẫn không chứa phần mở rộng tệp, thì cài đặt 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 936) and render it using the loaded module’s 5530 functionFor more information, see Using template engines with Express NOTE. The 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 4614 enables view caching. Set it to 70, to cache the view during development; view caching is enabled in production by default 22res. send([body])Sends the HTTP response The 59 parameter can be a 92 object, a 5536, an object, 5537, or an 5538. For example 23This method performs many useful tasks for simple non-streaming responses. For example, it automatically assigns the 5539 HTTP response header field (unless previously defined) and provides automatic HEAD and HTTP cache freshness supportWhen the parameter is a 92 object, the method sets the 55 response header field to “application/octet-stream”, unless previously defined as shown below 24When the parameter is a 5536, the method sets the 55 to “text/html” 25When the parameter is an 5538 or 5545, Express responds with the JSON representation 26res. sendFile(path [, options] [, fn]) 5546 is supported by Express v4. 8. 0 onwardsTransfers the file at the given 835. Sets the 55 response HTTP header field based on the filename’s extension. Unless the 95 option is set in the options object, 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 835 argument was constructed into an absolute path is secure if it contains user input or (b) set the 95 option to the absolute path of a directory to contain access withinWhen the 95 option is provided, the 835 argument is allowed to be a relative path, including containing 5555. Express will validate that the relative path provided as 835 will resolve within the given 95 optionThe following table provides details on the 68 parameterPropertyDescriptionDefaultAvailability 812Sets the max-age property of the 811 header in milliseconds or a string in ms format0 95Root directory for relative filenames. 818Sets the 819 header to the last modified date of the file on the OS. Set 806 to disable it. Enabled4. 9. 0+ 5272Object containing HTTP headers to serve with the file. 800Option for serving dotfiles. Possible values are “allow”, “deny”, “ignore”. “ignore” 5276Enable or disable accepting ranged requests. 704. 14+ 5278Enable or disable setting 811 response header. 704. 14+ 809Enable or disable the 809 directive in the 811 response header. If enabled, the 812 option should also be specified to enable caching. The 809 directive will prevent supported clients from making conditional requests during the life of the 812 option to check if the file has changed. 8064. 16+The method invokes the callback function 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 5580 with all its arguments 27The following example illustrates using 5580 to provide fine-grained support for serving files 28For more information, or if you have issues or concerns, see send res. sendStatus(statusCode)Sets the response HTTP status code to 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 number 29Some versions of Node. js will throw when 5583 is set to an invalid HTTP status code (outside of the range 5584 to 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 5222 thành 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ố 30Bí danh là 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 31độ phân giải. loại(loại)Đặt tiêu đề HTTP 55 thành loại MIME như được xác định bởi 56 đã chỉ định. Nếu 56 chứa ký tự “/”, thì nó đặt 55 thành giá trị chính xác của 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 5594 32độ phân giải. thay đổi (lĩnh vực)Thêm trường vào tiêu đề phản hồi 5595, nếu nó chưa có 33bộ định tuyếnMột đối tượng 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 54 cấp cao nhất có phương thức Bộ định tuyến () tạo đối tượng 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ư 845, 846, 847, v.v.) vào nó giống như một ứng dụng. Ví dụ 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ỏ 35phương phápbộ đị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 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; 36Hoặc tương đương 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” 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 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à 5906, 5907, 5908, v.v.Hàm 5906 được gọi tự động cho phương thức HTTP 986 ngoài phương thức 987 nếu trước đó 5912 không gọi cho đường dẫn 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 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” 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” 40Bạn có thể sử dụng nguyên hàm 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 995 với chuỗi 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 5918 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 đó 916 là tên của tham số và 907 là chức năng gọi lại. Mặc dù 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à
Không giống như 5926, 5927 không chấp nhận một mảng tham số tuyến đườngVí dụ: khi có 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 999 cho tuyến đường hoặc thực hiện xác thực trên đầu vào tham số 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 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 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 43Trên 4602, phần sau được in 91Phần sau đây mô tả 5933, không được dùng nữa kể từ v4. 11. 0Hành vi của phương thức 5934 có thể được thay đổi hoàn toàn bằng cách chỉ chuyển một hàm cho 5927. Hàm này là một triển khai tùy chỉnh về cách hoạt động của 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ý 5934 được sửa đổi thành 5938. Thay vì chấp nhận tên và gọi lại, giờ đây, 5927 sẽ chấp nhận tên và số 45Trong ví dụ này, chữ ký 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ùng 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 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ề 5927 ở trên, đoạn mã sau cho biết cách sử dụng 5941 để chỉ định các trình xử lý phương thức HTTP khác nhau 47Cách tiếp cận này sử dụng lại đường dẫn 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 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 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 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 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ại 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 5948. Bạn chỉ cần di chuyển cuộc gọi đến 5949 lên trên cùng, trước khi thêm phần mềm trung gian logger 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 522Phương pháp 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 52Mặc dù phần mềm trung gian xác thực đã được thêm thông qua 5951 nhưng nó cũng sẽ chạy trên các tuyến được xác định bởi 5952 vì cả hai bộ định tuyến đều được gắn trên 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
Làm cách nào để gửi dữ liệu từ nút JS sang HTML?Tôi đang cố chuyển một biến từ nút. js vào tệp HTML của tôi. ứng dụng. . npm install --save pug - để thêm nó vào dự án và gói. tập tin json ứng dụng. set('xem engine', 'pug'); tạo một. /views thư mục và thêm một đơn giản. tập tin pug như vậy Nút JS CÓ THỂ kết xuất HTML không?Độ phân giải. sendFile() phương thức của express. mô-đun js được sử dụng để hiển thị một tệp HTML cụ thể có trong máy cục bộ . |