Gửi nhanh HTML
Để phục vụ các tệp tĩnh như hình ảnh, tệp CSS và tệp JavaScript, hãy sử dụng chức năng phần mềm trung gian tích hợp sẵn 78 trong Express Show
Chữ ký hàm là
Đối số 79 chỉ định thư mục gốc để phục vụ nội dung tĩnh. Để biết thêm thông tin về đối số 80, xem nhanh. tĩnhVí dụ: sử dụng mã sau để phân phát hình ảnh, tệp CSS và tệp JavaScript trong thư mục có tên 0
Bây giờ, bạn có thể tải các tệp trong thư mục 0
Express tra cứu các tệp liên quan đến thư mục tĩnh, vì vậy tên của thư mục tĩnh không phải là một phần của URL Để sử dụng nhiều thư mục nội dung tĩnh, hãy gọi hàm phần mềm trung gian 78 nhiều lần
Express tra cứu các tệp theo thứ tự mà bạn đặt các thư mục tĩnh bằng chức năng phần mềm trung gian 78GHI 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 Để tạo tiền tố đường dẫn ảo (trong đó đường dẫn không thực sự tồn tại trong hệ thống tệp) cho các tệp được cung cấp bởi hàm 78, hãy chỉ định đường dẫn gắn kết cho thư mục tĩnh, như minh họa bên dưới
Bây giờ, bạn có thể tải các tệp trong thư mục 0 từ tiền tố đường dẫn 6
Tuy nhiên, đường dẫn mà bạn cung cấp cho hàm 78 có liên quan đến thư mục nơi bạn khởi chạy quy trình 8 của mình. Nếu bạn chạy ứng dụng cấp tốc từ một thư mục khác, sẽ an toàn hơn khi sử dụng đường dẫn tuyệt đối của thư mục mà bạn muốn phân phát Tạo một ứng dụng Express. Hàm 158 là hàm cấp cao nhất được xuất bởi mô-đun 159 3phương phápbày tỏ. json([tùy chọn])Phần mềm trung gian này có sẵn trong Express v4. 16. 0 trở đi Đâ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 đề 160 khớp với tùy chọn 161. 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 162 và 163Đối tượng 164 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng 165 sau phần mềm trung gian (i. e. 166) hoặc một đối tượng trống ( 167) nếu không có nội dung để phân tích cú pháp, 160 không khớp hoặc xảy ra lỗiVì hình dạng của 166 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ụ: 170 có thể bị lỗi theo nhiều cách, chẳng hạn như 171 có thể không có hoặc có thể không phải là một chuỗi và 172 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 đây mô tả các thuộc tính của đối tượng tùy chọn 173Thuộc tínhMô tảTypeDefault 174Cho phép hoặc vô hiệu hóa việc xử lý các phần tử (nén) xì hơi; . Boolean 175____1176Kiể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 177____1178Tùy chọn 178 được chuyển trực tiếp tới 180 dưới dạng đố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 181 182Cho phép hoặc không cho phép chỉ chấp nhận mảng và đối tượng; . Boolean 175____1161Đ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à hàm, tùy chọn 161 đượ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ư 187), loại kịch câm (như 188) hoặc loại kịch câm có ký tự đại diện (như 189 hoặc 190). Nếu là một hàm, tùy chọn 161 được gọi là 192 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixed 193 194Tùy chọn này, nếu được cung cấp, được gọi là 195, trong đó 196 là một 197 của nội dung yêu cầu thô và 198 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____1199bày tỏ. thô([tùy chọn])Phần mềm trung gian này có sẵn trong Express v4. 17. 0 trở đi Đâ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ú pháp tải trọng yêu cầu đến thành một 197 và dựa trên trình phân tích cú pháp nội dungTrả về phần mềm trung gian phân tích cú pháp tất cả các nội dung dưới dạng 197 và chỉ xem xét các yêu cầu có tiêu đề 160 khớp với tùy chọn 161. 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 162 và 163Một 164 197 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng 165 sau phần mềm trung gian (i. e. 166) hoặc một đối tượng trống ( 167) nếu không có nội dung để phân tích cú pháp, 160 không khớp hoặc xảy ra lỗiAs 166’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, 713 may fail in multiple ways, for example stacking multiple parsers 166 may be from a different parser. Testing that 166 is a 197 before calling buffer methods is recommendedBảng sau đây mô tả các thuộc tính của đối tượng tùy chọn 173Thuộc tínhMô tảTypeDefault 174Cho phép hoặc vô hiệu hóa việc xử lý các phần tử (nén) xì hơi; . Boolean 175____1176Kiể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 177____1161Đ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à hàm, tùy chọn 161 đượ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ư 724), loại kịch câm (như 725) hoặc loại kịch câm có ký tự đại diện (như 189 hoặc 727). Nếu là một hàm, tùy chọn 161 được gọi là 192 và yêu cầu được phân tích cú pháp nếu nó trả về giá trị trung thực. Mixed 730 194Tùy chọn này, nếu được cung cấp, được gọi là 195, trong đó 196 là một 197 của nội dung yêu cầu thô và 198 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. Function 199bày tỏ. Bộ định tuyến([tùy chọn])Tạo một đối tượng bộ định tuyến mới 1Tham số 173 tùy chọn chỉ định hành vi của bộ định tuyếnPropertyDescriptionDefaultAvailability 738Enable case sensitivity. Bị tắt theo mặc định, xử lý “/Foo” và “/foo” như nhau. 739Preserve the 740 values from the parent router. Nếu cha và con có tên tham số xung đột, giá trị của con sẽ được ưu tiên. 7414. 5. 0+______1182Bậ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ư 743, 744, 745, v.v.) vào 746 giống như một ứng dụngĐể biết thêm thông tin, xem Bộ định tuyến bà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. It serves static files and is based on serve-static 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ố 747 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 748 với thư mục 747 đượ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 750 để 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 173. Xem thêm ví dụ bên dướiThuộc tínhDescriptionTypeDefault 752Xác định cách tệp dotfiles (tệp hoặc thư mục bắt đầu bằng dấu chấm “. ”) are treatedSee dotfiles below Chuỗi“bỏ qua” 753Bật hoặc tắt tạo etagGHI CHÚ. 754 luôn gửi ETags yếuBoolean 175____6756Đặ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ụ. 757. Mixed 741 759 Bỏ qua lỗi máy khách dưới dạng 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 175____6761Bật hoặc tắt chỉ thị 761 trong tiêu đề phản hồi 763. Nếu được bật, tùy chọn 764 cũng phải được chỉ định để bật bộ nhớ đệm. Chỉ thị 761 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 764 để kiểm tra xem tệp đã thay đổi chưa. Boolean 741 768Gửi tệp chỉ mục thư mục được chỉ định. Đặt thành 741 để tắt lập chỉ mục thư mục. “chỉ số” hỗn hợp. html” 770Đặt tiêu đề 771 thành ngày sửa đổi cuối cùng của tệp trên HĐH. Boolean 175 764Đặt thuộc tính max-age của tiêu đề Kiểm soát bộ đệm theo mili giây hoặc chuỗi ở định dạng ms. Number0 774Chuyển hướng đến dấu “/” khi tên đường dẫn là một thư mục. Boolean 175____6776Chức năng đặt tiêu đề HTTP để phân phát cùng với tệpXem setHeaders bên dưới FunctionFor more information, see Serving static files in Express. và Sử dụng phần mềm trung gian - Phần mềm trung gian tích hợp dotfilesPossible values for this option are
NOTE. Với giá trị mặc định, nó sẽ không bỏ qua các tệp trong thư mục bắt đầu bằng dấu chấm fallthroughWhen this option is 175, client errors such as a bad request or a request to a non-existent file will cause this middleware to simply call 750 to invoke the next middleware in the stack. When false, these errors (even 404s), will invoke 783Set this option to 175 so you can map multiple physical directories to the same web address or for routes to fill in non-existent filesUse 741 if you have mounted this middleware at a path designed to be strictly a single file system directory, which allows for short-circuiting 404s for less overhead. This middleware will also reply to all methodsFor this option, specify a function to set custom response headers. Alterations to the headers must occur synchronously The signature of the function is 7Arguments
Example of express. staticDưới đây là một ví dụ về việc sử dụng chức năng phần mềm trung gian 754 với một đối tượng tùy chọn phức tạp 47express. văn bản([tùy chọn])Phần mềm trung gian này có sẵn trong Express v4. 17. 0 trở đi This is a built-in middleware function in Express. It parses incoming request payloads into a string and is based on body-parser Trả về phần mềm trung gian phân tích cú pháp tất cả nội dung dưới dạng chuỗi và chỉ xem xét các yêu cầu có tiêu đề 160 khớp với tùy chọn 161. 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 162 và 163A new 164 string containing the parsed data is populated on the 165 object after the middleware (i. e. 166), or an empty object ( 167) if there was no body to parse, the 160 was not matched, or an error occurredAs 166’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, 4701 may fail in multiple ways, for example stacking multiple parsers 166 may be from a different parser. Testing that 166 is a string before calling string methods is recommendedBảng sau đây mô tả các thuộc tính của đối tượng tùy chọn 173PropertyDescriptionTypeDefault 4705Specify the default character set for the text content if the charset is not specified in the 160 header of the request. String 4707 174Enables or disables handling deflated (compressed) bodies; when disabled, deflated bodies are rejected. Boolean 175 176Controls the maximum request body size. If this is a number, then the value specifies the number of bytes; if it is a string, the value is passed to the bytes library for parsing. Mixed 177 161This is used to determine what media type the middleware will parse. 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. If not a function, 161 option is passed directly to the type-is library and this can be an extension name (like 4714), a mime type (like 4715), or a mime type with a wildcard (like 189 or 4717). If a function, the 161 option is called as 192 and the request is parsed if it returns a truthy value. Mixed 4720 194Tùy chọn này, nếu được cung cấp, được gọi là 195, trong đó 196 là một 197 của nội dung yêu cầu thô và 198 là mã hóa của yêu cầu. The parsing can be aborted by throwing an error. Chức năng____1199bày tỏ. được mã hóa url ([tùy chọn])Phần mềm trung gian này có sẵn trong Express v4. 16. 0 trở đi Đâ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 đề 160 khớp với tùy chọn 161. 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 162 và 163Đối tượng 164 mới chứa dữ liệu được phân tích cú pháp được điền vào đối tượng 165 sau phần mềm trung gian (i. e. 166) hoặc một đối tượng trống ( 167) nếu không có nội dung để phân tích cú pháp, 160 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 4736 là 741) hoặc bất kỳ loại nào (khi 4736 là 175)Vì hình dạng của 166 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ụ: 170 có thể bị lỗi theo nhiều cách, chẳng hạn như 171 có thể không có hoặc có thể không phải là một chuỗi và 172 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 đây mô tả các thuộc tính của đối tượng tùy chọn 173PropertyDescriptionTypeDefault 4736Tù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 4746 (khi 741) hoặc thư viện 4748 (khi 175). 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 175____1174Cho phép hoặc vô hiệu hóa việc xử lý các phần tử (nén) xì hơi; . Boolean 175____1176Kiể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 177____14755Tù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. If a request contains more parameters than this value, an error will be raised. Số____14756____1161Số 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. If not a function, 161 option is passed directly to the type-is library and this can be an extension name (like 4759), a mime type (like 4760), or a mime type with a wildcard (like 4761). If a function, the 161 option is called as 192 and the request is parsed if it returns a truthy value. Mixed 4764 194This option, if supplied, is called as 195, where 196 is a 197 of the raw request body and 198 is the encoding of the request. Việc phân tích cú pháp có thể bị hủy bỏ bằng cách đưa ra lỗi. Function 199ApplicationThe 4771 object conventionally denotes the Express application. Create it by calling the top-level 158 function exported by the Express module 30The 4771 object has methods forIt also has settings (properties) that affect how the application behaves; for more information, see Application settings Của cảiapp. người dân địa phươngThe 4774 object has properties that are local variables within the application, and will be available in templates rendered with res. render 33Once set, the value of 4774 properties persist throughout the life of the application, in contrast with res. locals properties that are valid only for the lifetime of the requestBạ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. This is useful for providing helper functions to templates, as well as application-level data. Local variables are available in middleware via 4776 (see req. app) 36app. mountpathThuộc tính 4777 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 159 có thể được sử dụng để xử lý yêu cầu tới một tuyến đường 39Nó tương tự như thuộc tính baseUrl của đối tượng 4779, ngoại trừ việc 4780 trả về đường dẫn URL phù hợp, thay vì các mẫu phù hợpIf a sub-app is mounted on multiple path patterns, 4777 returns the list of patterns it is mounted on, as shown in the following example 43Eventsứng dụng. on('mount', callback(parent))The 4782 event is fired on a sub-app, when it is mounted on a parent app. The parent app is passed to the callback functionGHI CHÚ Sub-apps will
For details, see Application settings 45phương phápứng dụng. tất cả (đường dẫn, gọi lại [, gọi lại. ])This method is like the standard app. METHOD() methods, except it matches all HTTP verbs ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneExamplesThe following callback is executed for requests to 4786 whether using GET, POST, PUT, DELETE, or any other HTTP request method 10The 4787 method is useful for mapping “global” logic for specific path prefixes or arbitrary matches. For example, if you put the following at the top of all other route definitions, it requires that all routes from that point on require authentication, and automatically load a user. 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. 4788 can perform a task, then call 750 to continue matching subsequent routes 11Or the equivalent 12Another example is white-listed “global” functionality. The example is similar to the ones above, but it only restricts paths that start with “/api” 13ứng dụng. delete(path, callback [, callback . ])Routes HTTP DELETE requests to the specified path with the specified callback functions. For more information, see the routing guide ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneExample 14ứng dụng. disable(name)Đặt cài đặt Boolean 4793 thành 741, trong đó 4793 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Calling 4796 for a Boolean property is the same as calling 4797For example 15app. disabled(name)Returns 175 if the Boolean setting 4793 is disabled ( 741), where 4793 is one of the properties from the app settings table 16ứng dụng. kích hoạt (tên)Đặt cài đặt Boolean 4793 thành 175, trong đó 4793 là một trong các thuộc tính từ bảng cài đặt ứng dụng. Gọi 3005 cho một thuộc tính Boolean cũng giống như gọi 3006 17ứng dụng. đã bật (tên)Returns 175 if the setting 4793 is enabled ( 175), where 4793 is one of the properties from the app settings table 18ứng dụng. engine(ext, callback)Registers the given template engine 4784 as 3012Theo mặc định, Express sẽ 3013 công cụ dựa trên phần mở rộng tệp. For example, if you try to render a “foo. pug” file, Express invokes the following internally, and caches the 3013 on subsequent calls to increase performance 19Use this method for engines that do not provide 3015 out of the box, or if you wish to “map” a different extension to the template engineFor example, to map the EJS template engine to “. tập tin html” 70In this case, EJS provides a 3016 method with the same signature that Express expects. 3017, though note that it aliases this method as 3018 internally so if you’re using “. ejs” mà bạn không cần phải làm gì cảSome template engines do not follow this convention. The consolidate. 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 71app. get(name)Returns the value of 4793 app setting, where 4793 is one of the strings in the app settings table. Ví dụ 72app. get(đường dẫn, gọi lại [, gọi lại. ])Routes HTTP GET requests to the specified path with the specified callback functions ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneFor more information, see the routing guide Example 73ứng dụng. listen(path, [callback])Starts a UNIX socket and listens for connections on the given path. Phương thức này giống hệt với http của Node. Server. listen() 74app. listen([port[, host[, backlog]]][, callback])Binds and listens for connections on the specified host and port. Phương thức này giống hệt với http của Node. Server. nghe() If port is omitted or is 0, the operating system will assign an arbitrary unused port, which is useful for cases like automated tasks (tests, etc. ) 75The 4771 returned by 158 is in fact a JavaScript 3026, designed to be passed to Node’s HTTP servers as a callback to handle requests. This makes it easy to provide both HTTP and HTTPS versions of your app with the same code base, as the app does not inherit from these (it is simply a callback) 76The 3027 method returns an http. Server object and (for HTTP) is a convenience method for the following 77app. 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. Thus, the actual methods are 3028, 3029, 3030, and so on. See Routing methods below for the complete listArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneRouting methodsExpress 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 là 3028, 3029, 3030 và 3060. However, the other methods listed above work in exactly the same wayTo route methods that translate to invalid JavaScript variable names, use the bracket notation. For example, 3061The 3028 function is automatically called for the HTTP 3063 method in addition to the 3064 method if 3065 was not called for the path before 3028The method, 4787, is not derived from any HTTP method and loads middleware at the specified path for all HTTP request methods. Để biết thêm thông tin, hãy xem ứng dụng. allFor more information on routing, see the routing guide app. param([name], callback)Add callback triggers to route parameters, where 4793 is the name of the parameter or an array of them, and 4784 is the callback function. The parameters of the callback function are the request object, the response object, the next middleware, the value of the parameter and the name of the parameter, in that orderIf 4793 is an array, the 4784 trigger is registered for each parameter declared in it, in the order in which they are declared. Furthermore, for each declared parameter except the last one, a call to 3072 inside the callback will call the callback for the next declared parameter. Đối với tham số cuối cùng, một lệnh gọi tới 3072 sẽ gọi phần mềm trung gian tiếp theo tại chỗ cho tuyến đường hiện đang được xử lý, giống như nó sẽ xảy ra nếu 4793 chỉ là một chuỗiFor example, when 3075 is present in a route path, you may map user loading logic to automatically provide 3076 to the route, or perform validations on the parameter input 78Param callback functions are local to the router on which they are defined. They are not inherited by mounted apps or routers. Hence, param callbacks defined on 4771 will be triggered only by route parameters defined on 4771 routesAll param callbacks will be called before any handler of any route in which the param occurs, and they will each be called only once in a request-response cycle, even if the parameter is matched in multiple routes, as shown in the following examples 79Trên 3079, phần sau được in 470 471On 3080, the following is printed 472The following section describes 3081, which is deprecated as of v4. 11. 0Hành vi của phương thức 3082 có thể được thay đổi hoàn toàn bằng cách chỉ chuyển một hàm cho 3083. This function is a custom implementation of how 3082 should behave - it accepts two parameters and must return a middlewareThe first parameter of this function is the name of the URL parameter that should be captured, the second parameter can be any JavaScript object which might be used for returning the middleware implementation 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ý 3082 được sửa đổi thành 3086. Thay vì chấp nhận tên và gọi lại, giờ đây, 3083 sẽ chấp nhận tên và số 473Trong ví dụ này, chữ ký 3082 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 474Không thể sử dụng ký tự '______23089' để chụp một ký tự trong biểu thức chính quy chụp của bạn. Ví dụ: bạn không thể sử dụng 3090 để chụp 3091, thay vào đó hãy sử dụng 3092 hoặc 3093 (như trong 3094ví dụ 475ứng dụng. đường dẫn()Trả về đường dẫn chính tắc của ứng dụng, một chuỗi 476Hà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 ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneExample 477ứ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 ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneExample 478ứ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 4784. 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ề 3302 như một chức năng tiện ích để tạo các chuỗi xem được hiển thị. Nội bộ 3303 sử dụng 3302 để hiển thị chế độ xemBiến cục bộ 3305 được dành riêng để bật chế độ xem bộ đệm. Đặt nó thành 175, nếu bạn muốn xem bộ đệm trong quá trình phát triển; 479ứ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 3307 để tránh tên tuyến đường trùng lặp (và do đó là lỗi đánh máy) 300ứng dụng. đặt (tên, giá trị)Chỉ định cài đặt 4793 thành 3309. 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 3005 cho một thuộc tính Boolean cũng giống như gọi 3006. Tương tự, gọi 4796 cho một thuộc tính Boolean cũng giống như gọi 4797Truy xuất giá trị của một cài đặt với 3028 301Cà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 3315 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 3318BooleanBậ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) 3319Chế độ 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 3320 (biến môi trường 3317) hoặc “phát triển” nếu không đặt 3317 753đa dạngSet the ETag response header. Để biết các giá trị có thể, hãy xem bảng tùy chọn 753Tìm hiểu thêm về tiêu đề HTTP ETag 3325 3326StringChỉ định tên gọi lại JSONP mặc định"gọi lại" 3327BooleanCho phép thoát khỏi các phản hồi JSON từ các API 3328, 3329 và 3330. Điều này sẽ thoát khỏi các ký tự 3331, 3332 và 3333 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) 3334Đ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) 3335Đ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) 3336đ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 741 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" 3338BooleanKí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) 3339NumberThe number of dot-separated parts of the host to remove to access subdomain. 2 3315đa dạngCho biết ứng dụng đứng sau proxy mặt trước và sử dụng tiêu đề 3341 để xác định kết nối và địa chỉ IP của ứng dụng khách. NOTE. 3341 headers are easily spoofed and the detected IP addresses are unreliableWhen enabled, Express attempts to determine the IP address of the client connected through the front-facing proxy, or series of proxies. The `req. ips` property, then contains an array of IP addresses the client is connected through. Để 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 The `trust proxy` setting is implemented using the proxy-addr package. Để biết thêm thông tin, hãy xem tài liệu của nó NOTE. 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 741 (đã tắt) 3344String hoặc ArrayMột thư mục hoặc một mảng các thư mục cho các dạng xem của ứng dụng. Nếu là một mảng, các dạng xem được tra cứu theo thứ tự xuất hiện trong mảng 3345 3316BooleanCho phép xem bộ nhớ đệm tổng hợp mẫu GHI CHÚ. Ứng dụng phụ sẽ không kế thừa giá trị của cài đặt này trong sản xuất (khi `NODE_ENV` là "sản xuất") 175 trong sản xuất, nếu không thì không xác định 3348StringPhần mở rộng công cụ mặc định để sử dụng khi bị bỏ quaGHI 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) 3349Boolean Kích hoạt "X-Powered-By. Express" tiêu đề HTTP 175Các tùy chọn cho cài đặt `trust proxy`Đọc Express phía sau proxy để biết thêm thông tin LoạiGiá trịBooleanNếu 175, địa chỉ IP của khách hàng được hiểu là mục ngoài cùng bên trái trong tiêu đề 3341Nếu 741, ứng dụng được hiểu là đối mặt trực tiếp với Internet và địa chỉ IP của khách hàng được lấy từ 3354. Đây là thiết lập mặc địnhChuỗiChuỗi chứa các giá trị được phân tách bằng dấu phẩy Mảng chuỗi Địa chỉ IP, mạng con hoặc một mảng địa chỉ IP và mạng con đáng tin cậy. Tên mạng con được cấu hình sẵn là
Đặt địa chỉ IP theo bất kỳ cách nào sau đây Chỉ định một mạng con duy nhất 302Chỉ định một mạng con và một địa chỉ 303Specify multiple subnets as CSV 304Chỉ định nhiều mạng con dưới dạng một mảng 305Khi đượ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 SốTin tưởng bước nhảy thứ n từ máy chủ proxy mặt trước với tư cách là máy khách FunctionTriển khai ủy thác tùy chỉnh. Chỉ sử dụng cái này nếu bạn biết bạn đang làm gì 306Các tùy chọn cho cài đặt `etag`GHI CHÚ. Các cài đặt này chỉ áp dụng cho tệp động, không phải tệp tĩnh. The express. phần mềm trung gian tĩnh bỏ qua các cài đặt này Chức năng ETag được triển khai bằng gói etag. For more information, see its documentation LoạiGiá trịBoolean 175 kích hoạt ETag yếu. This is the default setting. ______6741 vô hiệu hóa hoàn toàn ETag. StringIf "mạnh", cho phép ETag mạnh. Nếu "yếu", hãy bật ETag yếu. Chức năng Custom ETag function implementation. Chỉ sử dụng cái này nếu bạn biết bạn đang làm gì 307app. sử dụng ([đường dẫn,] gọi lại [, gọi lại. ])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. the middleware function is executed when the base of the requested path matches 787ArgumentsArgumentDescriptionDefault____6787Đường dẫn mà chức năng phần mềm trung gian được gọi;
4784Callback functions; can be
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 4785 để bỏ qua (các) lệnh gọi lại tuyến đường còn lại. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there is no reason to proceed with the current routeSince router and app implement the middleware interface, you can use them as you would any other middleware function For examples, see Middleware callback function examples NoneSự miêu tảMột tuyến đường sẽ khớp với bất kỳ con đường nào đi theo con đường của nó ngay lập tức bằng “ 3369”. Ví dụ. 3370 sẽ khớp với “/apple”, “/apple/images”, “/apple/images/news”, v.v.Vì 787 mặc định là “/”, phần mềm trung gian được gắn mà không có đường dẫn sẽ được thực thi cho mọi yêu cầu đối với ứng dụng. Ví dụ: chức năng phần mềm trung gian này sẽ được thực thi cho mọi yêu cầu đối với ứng dụng. 308GHI CHÚ Sub-apps will
For details, see Application settings Các chức năng của phần mềm trung gian được thực thi tuần tự, do đó thứ tự đưa vào phần mềm trung gian là rất quan trọng 309Phần mềm trung gian xử lý lỗi Phần mềm trung gian xử lý lỗi luôn có bốn đối số. Bạn phải cung cấp bốn đối số để xác định đó là chức năng phần mềm trung gian xử lý lỗi. Ngay cả khi bạn không cần sử dụng đối tượng 3072, bạn phải chỉ định nó để duy trì chữ ký. Nếu không, đối tượng 3072 sẽ được hiểu là phần mềm trung gian thông thường và sẽ không thể xử lý lỗi. Để biết chi tiết về phần mềm trung gian xử lý lỗi, xem. xử lý lỗiXác định các hàm phần mềm trung gian xử lý lỗi giống như các hàm phần mềm trung gian khác, ngoại trừ bốn đối số thay vì ba, cụ thể là bằng chữ ký 3374) 330Ví dụ về đường dẫnBảng sau đây cung cấp một số ví dụ đơn giản về các giá trị 787 hợp lệ để gắn phần mềm trung gianTypeExamplePath Điều này sẽ khớp với các đường dẫn bắt đầu bằng 3376 331Mô hình đường dẫnĐiều này sẽ khớp với các đường dẫn bắt đầu bằng 3376 và 3378 332Điều này sẽ khớp với các đường dẫn bắt đầu bằng 3376, 3380, 3381, v.v. 333Điều này sẽ khớp với các đường dẫn bắt đầu bằng 3376, 3383, 3384, 3385, v.v. 334Điều này sẽ khớp với các đường dẫn bắt đầu bằng 3386 và 3376 335Biểu thức chính quyĐiều này sẽ khớp với các đường dẫn bắt đầu bằng 3388 và 3389 336MảngĐiều này sẽ khớp với các đường dẫn bắt đầu bằng 3376, 3391, 3392 và 3393 337Ví dụ về chức năng gọi lại phần mềm trung gianBả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ố 4784 cho 3395, 3396 và 4787. Mặc dù các ví dụ dành cho 3395 nhưng chúng cũng hợp lệ cho 3395, 3396 và 4787Cách sử dụngVí dụPhần mềm trung gian đơnBạn có thể xác định và gắn cục bộ chức năng phần mềm trung gian 338A router is valid middleware 339Ứng dụng Express là phần mềm trung gian hợp lệ 360Series of MiddlewareYou can specify more than one middleware function at the same mount path 361ArraySử dụng một mảng để nhóm phần mềm trung gian một cách hợp lý 362Kết hợpBạ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 363Following are some examples of using the 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 364Gắ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” 365Tắ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 366Serve static files from multiple directories, but give precedence to “. /public” so với những cái khác 367RequestThe 4779 object represents the HTTP request and has properties for the request query string, parameters, body, HTTP headers, and so on. In this documentation and by convention, the object is always referred to as 4779 (and the HTTP response is 786) but its actual name is determined by the parameters to the callback function in which you’re workingFor example 368But you could just as well have 369The 4779 object is an enhanced version of Node’s own request object and supports all built-in fields and methodsCủa cảireq. ứng dụngThis property holds a reference to the instance of the Express application that is using the middleware If you follow the pattern in which you create a module that just exports a middleware function and 3013 it in your main file, then the middleware can access the Express instance via 3607For example 390 391req. baseUrlThe URL path on which a router instance was mounted Thuộc tính 4780 tương tự như thuộc tính mountpath của đối tượng 4771, ngoại trừ 4777 trả về (các) mẫu đường dẫn phù hợpFor example 392Ngay cả khi bạn sử dụng một mẫu đường dẫn hoặc một tập hợp các mẫu đường dẫn để tải bộ định tuyến, thuộc tính 3611 sẽ trả về chuỗi phù hợp, không phải (các) mẫu. In the following example, the 3612 router is loaded on two path patterns 393When a request is made to 3613, 4780 is “/greet”. When a request is made to 3615, 4780 is “/hello”req. cơ thể ngườiContains key-value pairs of data submitted in the request body. By default, it is 199, and is populated when you use body-parsing middleware such as 3618 or 3619Vì hình dạng của 166 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ụ: 170 có thể bị lỗi theo nhiều cách, chẳng hạn như 171 có thể không có hoặc có thể không phải là một chuỗi và 172 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 166 394req. 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 167 395If 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 175 is returned, otherwise 741 is returned to indicate that the client cache is now stale and the full response should be sentWhen a client sends the 3628 request header to indicate an end-to-end reload request, this module will return 741 to make handling these requests transparentFurther details for how cache validation works can be found in the HTTP/1. 1 Đặc tả bộ nhớ đệm 396req. hostnameChứa tên máy chủ bắt nguồn từ tiêu đề HTTP 3630When the 3315 setting does not evaluate to 741, this property will instead get the value from the 3633 header field. This header can be set by the client or by the proxyIf there is more than one 3633 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 3633 could not contain multiple values or be present more than once 397yêu cầu. ipChứa địa chỉ IP từ xa của yêu cầu When the 3315 setting does not evaluate to 741, the value of this property is derived from the left-most entry in the 3638 header. This header can be set by the client or by the proxy 398yêu cầu. ipsWhen the 3315 setting does not evaluate to 741, this property contains an array of IP addresses specified in the 3638 request header. Otherwise, it contains an empty array. This header can be set by the client or by the proxyVí dụ: nếu _____ 23638 là ________ 23643, thì ________ 23644 sẽ là ________ 23645, trong đó 3646 là dòng xa nhất về phía hạ lưuyêu cầu. methodChứa một chuỗi tương ứng với phương thức HTTP của yêu cầu. 3064, 3648, 3649, and so onreq. url gốc 748 is not a native Express property, it is inherited from Node’s http moduleThis property is much like 748; however, it retains the original request URL, allowing you to rewrite 748 freely for internal routing purposes. For example, the “mounting” feature of app. use() sẽ viết lại 748 để loại bỏ điểm gắn kết 399 3654 is available both in middleware and router objects, and is a combination of 4780 and 748. Xem xét ví dụ sau 430req. thông sốThis property is an object containing properties mapped to the named route “parameters”. For example, if you have the route 3657, then the “name” property is available as 3658. Đối tượng này mặc định là 167 431Khi bạn sử dụng biểu thức chính quy cho định nghĩa tuyến đường, các nhóm chụp được cung cấp trong mảng bằng cách sử dụng 3660, trong đó 3661 là nhóm chụp thứ n. This rule is applied to unnamed wild card matches with string routes such as 3662 432If you need to make changes to a key in 740, use the app. param handler. Changes are applicable only to parameters already defined in the route pathAny changes made to the 740 object in a middleware or route handler will be resetNOTE. Express tự động giải mã các giá trị trong 740 (sử dụng 3666)req. pathContains the path part of the request URL 433Khi được gọi từ phần mềm trung gian, điểm gắn kết không được bao gồm trong 3667. See app. use() for more detailsreq. giao thứcContains the request protocol string. either 3668 or (for TLS requests) 3669When the 3315 setting does not evaluate to 741, this property will use the value of the 3672 header field if present. This header can be set by the client or by the proxy 434yêu cầu. queryThis property is an object containing a property for each query string parameter in the route. When query parser is set to disabled, it is an empty object 167, otherwise it is the result of the configured query parserAs 3674’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, 3675 may fail in multiple ways, for example 171 may not be there or may not be a string, and 172 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. A very popular query string parser is the 4748 module, and this is used by default. The 4748 module is very configurable with many settings, and it may be desirable to use different settings than the default to populate 3674 435Check 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 yêu cầu. routeContains the currently-matched route, a string. For example 436Example output from the previous snippet 437yêu cầu. chắc chắnA Boolean property that is true if a TLS connection is established. Equivalent to 438req. 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 3681 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 167 439For more information, issues, or concerns, see cookie-parser req. staleIndicates whether the request is “stale,” and is the opposite of 3683. For more information, see req. tươi 450req. subdomainsAn array of subdomains in the domain name of the request 451The application property 3339, which defaults to 2, is used for determining the beginning of the subdomain segments. Để thay đổi hành vi này, hãy thay đổi giá trị của nó bằng ứng dụng. setreq. xhrA Boolean property that is 175 if the request’s 3686 header field is “XMLHttpRequest”, indicating that the request was issued by a client library such as jQuery 452phương phápreq. accepts(types)Checks if the specified content types are acceptable, based on the request’s 3687 HTTP header field. The method returns the best match, or if none of the specified content types is acceptable, returns 741 (in which case, the application should respond with 3689)The 161 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) 453Để biết thêm thông tin hoặc nếu bạn có vấn đề hoặc lo ngại, hãy xem chấp nhận req. acceptsCharsets(charset [, . ])Returns the first accepted charset of the specified character sets, based on the request’s 3691 HTTP header field. Nếu không có bộ ký tự nào được chỉ định được chấp nhận, trả về 741Để biết thêm thông tin hoặc nếu bạn có vấn đề hoặc lo ngại, hãy xem chấp nhận req. acceptEncodings(encoding [,. ])Returns the first accepted encoding of the specified encodings, based on the request’s 3693 HTTP header field. If none of the specified encodings is accepted, returns 741Để biết thêm thông tin hoặc nếu bạn có vấn đề hoặc lo ngại, hãy xem chấp nhận yêu cầu. acceptsLanguages(lang [, . ])Trả về ngôn ngữ được chấp nhận đầu tiên trong số các ngôn ngữ đã chỉ định, dựa trên trường tiêu đề HTTP 3695 của yêu cầu. Nếu không có ngôn ngữ cụ thể nào được chấp nhận, trả về 741Để biết thêm thông tin hoặc nếu bạn có vấn đề hoặc lo ngại, hãy xem chấp nhận req. get(field)Returns the specified HTTP request header field (case-insensitive match). The 3697 and 3698 fields are interchangeable 454Aliased as 3699req. là (loại)Returns the matching content type if the incoming request’s “Content-Type” HTTP header field matches the MIME type specified by the 161 parameter. If the request has no body, returns 181. Returns 741 otherwise 455For more information, or if you have issues or concerns, see type-is yêu cầu. tham số (tên [, giá trị mặc định])Deprecated. Use either 740, 166 or 3674, as applicableTrả về giá trị của tham số 4793 khi có mặt 456Tra cứu được thực hiện theo thứ tự sau
Optionally, you can specify 3910 to set a default value if the parameter is not found in any of the request objectsDirect access to 166, 740, and 3674 should be favoured for clarity - unless you truly accept input from each objectBody-parsing middleware must be loaded for 3914 to work predictably. Refer req. body for detailsreq. range(size[, options]) 3915 header parserThe 3916 parameter is the maximum size of the resourceThe 173 parameter is an object that can have the following propertiesThuộc tínhTypeDescription 3918BooleanChỉ định xem có nên kết hợp các phạm vi chồng chéo và liền kề hay không, mặc định là 741. Khi 175, phạm vi sẽ được kết hợp và trả về như thể chúng được chỉ định theo cách đó trong tiêu đềAn array of ranges will be returned or negative numbers indicating an error parsing
457ResponseThe 786 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 786 (and the HTTP request is 4779) but its actual name is determined by the parameters to the callback function in which you’re workingFor example 368But you could just as well have 369The 786 object is an enhanced version of Node’s own response object and supports all built-in fields and methodsCủa cảires. appThis property holds a reference to the instance of the Express application that is using the middleware 3927 is identical to the req. app property in the request objectBoolean property that indicates if the app sent HTTP headers for the response 100res. localsUse this property to set variables accessible in templates rendered with res. render. The variables set on 3928 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 Thuộc tính này hữu ích để hiển thị thông tin cấp yêu cầu, chẳng hạn như tên đường dẫn yêu cầu, người dùng được xác thực, cài đặt người dùng, v.v. cho các mẫu được hiển thị trong ứng dụng 101phương phápres. nối thêm (trường [, giá trị]) 3929 is supported by Express v4. 11. 0+Nối thêm 3309 đã chỉ định vào tiêu đề phản hồi HTTP 3931. Nếu tiêu đề chưa được đặt, nó sẽ tạo tiêu đề với giá trị đã chỉ định. Tham số 3309 có thể là một chuỗi hoặc một mảngGhi chú. gọi 3933 sau 3929 sẽ đặt lại giá trị tiêu đề đã đặt trước đó 102độ phân giải. tệp đính kèm ([tên tệp])Đặt trường tiêu đề phản hồi HTTP 3935 thành “tệp đính kèm”. Nếu một 3936 được cung cấp, thì nó sẽ đặt Loại nội dung dựa trên tên tiện ích mở rộng thông qua 3937 và đặt tham số “filename=” của 3935 103độ phân giải. cookie(name, value [, options])Đặt cookie 4793 thành 3309. The 3309 parameter may be a string or object converted to JSONThe 173 parameter is an object that can have the following propertiesThuộc tínhTypeDescription 3943StringTên miền cho cookie. Mặc định là tên miền của ứng dụng. 3944FunctionA synchronous function used for cookie value encoding. Mặc định là 3945. 3946DateNgày hết hạn của cookie tính bằng GMT. Nếu không được chỉ định hoặc được đặt thành 0, hãy tạo cookie phiên. 3947BooleanFlags the cookie to be accessible only by the web server. 764SốTùy chọn thuận tiện để đặt thời gian hết hạn so với thời gian hiện tại tính bằng mili giây. 787StringPath cho cookie. Defaults to “/”. 3950StringValue of the “Priority” Set-Cookie attribute. 3951BooleanMarks the cookie to be used with HTTPS only. 3952BooleanCho biết liệu cookie có được ký hay không. 3953Boolean or StringValue of the “SameSite” Set-Cookie attribute. More information at https. //công cụ. ietf. org/html/draft-ietf-httpbis-cookie-same-site-00#section-4. 1. 1Tất cả những gì 3954 làm là đặt tiêu đề HTTP 3955 với các tùy chọn được cung cấp. Bất kỳ tùy chọn nào không được chỉ định mặc định theo giá trị được nêu trong RFC 6265For example 104Ví dụ, bạn có thể đặt nhiều cookie trong một phản hồi bằng cách gọi 3956 nhiều lần 105The 3944 option allows you to choose the function used for cookie value encoding. Không hỗ trợ các chức năng không đồng bộTrường hợp sử dụng ví dụ. Bạn cần đặt cookie trên toàn miền cho một trang web khác trong tổ chức của mình. This other site (not under your administrative control) does not use URI-encoded cookie values 106Tùy chọn 764 là tùy chọn tiện lợi để đặt “hết hạn” so với thời gian hiện tại tính bằng mili giây. Sau đây là tương đương với ví dụ thứ hai ở trên 107Bạn có thể truyền một đối tượng dưới dạng tham số 3309; 108Khi sử dụng phần mềm trung gian trình phân tích cú pháp cookie, phương pháp này cũng hỗ trợ cookie đã ký. Chỉ cần bao gồm tùy chọn 3952 được đặt thành 175. Sau đó, 3954 sẽ sử dụng bí mật được truyền cho 3964 để ký giá trị 109Sau đó, bạn có thể truy cập giá trị này thông qua yêu cầu. signedCookie object độ phân giải. clearCookie(name [, options])Xóa cookie được chỉ định bởi 4793. Để biết chi tiết về đối tượng ________ 1173, xem màu đỏ. cookie()Các trình duyệt web và các ứng dụng khách tuân thủ khác sẽ chỉ xóa cookie nếu 173 đã cho giống hệt với các trình duyệt được cung cấp cho res. cookie(), ngoại trừ 3946 và 764 110độ phân giải. download(path [, filename] [, options] [, fn])Chuyển tệp tại 787 dưới dạng “tệp đính kèm”. Typically, browsers will prompt the user for download. By default, the 3935 header “filename=” parameter is derrived from the 787 argument, but can be overridden with the 3936 parameter. If 787 is relative, then it will be based on the current working directory of the process or the 747 option, if providedThis API provides access to data on the running file system. Ensure that either (a) the way in which the 787 argument was constructed is secure if it contains user input or (b) set the 747 option to the absolute path of a directory to contain access withinKhi tùy chọn 747 được cung cấp, Express sẽ xác thực rằng đường dẫn tương đối được cung cấp dưới dạng 787 sẽ giải quyết trong tùy chọn 747 đã choBảng sau đây cung cấp thông tin chi tiết về tham số 173The optional 173 argument is supported by Express v4. 16. 0 trở điPropertyDescriptionDefaultAvailability 764Đặt thuộc tính max-age của tiêu đề 763 tính bằng mili giây hoặc chuỗi ở định dạng ms04. 16+______6747Thư mục gốc cho tên tệp tương đối. 4. 18+ 770Sets the 771 header to the last modified date of the file on the OS. Đặt 741 để tắt nó. Enabled4. 16+ 3989Object containing HTTP headers to serve with the file. The header 3935 will be overriden by the 3936 argument. 4. 16+______6752Tùy chọn phân phối tệp dotfile. Các giá trị có thể là “cho phép”, “từ chối”, “bỏ qua”. “phớt lờ”4. 16+ 3993Enable or disable accepting ranged requests. 1754. 16+______23995Bật hoặc tắt cài đặt tiêu đề phản hồi 763. 1754. 16+______6761Bật hoặc tắt chỉ thị 761 trong tiêu đề phản hồi 763. Nếu được bật, tùy chọn 764 cũng phải được chỉ định để bật bộ nhớ đệm. The 761 directive will prevent supported clients from making conditional requests during the life of the 764 option to check if the file has changed. 7414. 16+The method invokes the callback function 4305 when the transfer is complete or when an error occurs. Nếu chức năng gọi lại được chỉ định và xảy ra lỗi, chức năng gọi lại phải xử lý rõ ràng quy trình phản hồi bằng cách kết thúc chu kỳ phản hồi yêu cầu hoặc bằng cách chuyển điều khiển sang tuyến tiếp theo 111res. end([data] [, encoding])Kết thúc quá trình phản hồi. Phương pháp này thực sự đến từ lõi Node, cụ thể là phản hồi. phương thức kết thúc () của http. ServerResponse Use to quickly end the response without any data. If you need to respond with data, instead use methods such as res. gửi() và res. json() 112độ phân giải. định dạng (đối tượng)Performs content-negotiation on the 3687 HTTP header on the request object, when present. Nó sử dụng yêu cầu. 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. Khi không tìm thấy kết quả phù hợp, máy chủ sẽ phản hồi với 406 “Không được chấp nhận” hoặc gọi lại cuộc gọi lại 4307Tiêu đề phản hồi 160 được đặt khi chọn gọi lại. However, you may alter this within the callback using methods such as 3933 or 3937Ví dụ sau đây sẽ phản hồi bằng 4311 khi trường tiêu đề 3687 được đặt thành “application/json” hoặc “*/json” (tuy nhiên nếu là “*/*”, thì phản hồi sẽ là “hey”) 113In addition to canonicalized MIME types, you may also use extension names mapped to these types for a slightly less verbose implementation 114độ phân giải. lấy (trường)Trả về tiêu đề phản hồi HTTP được chỉ định bởi 3931. Trận đấu không phân biệt chữ hoa chữ thường 115độ phân giải. json([nội dung])Gửi phản hồi JSON. This method sends a response (with the correct content-type) that is the parameter converted to a JSON string using JSON. xâu chuỗi () 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 116độ phân giải. jsonp([cơ thể])Gửi phản hồi JSON có hỗ trợ JSONP. This method is identical to 4314, except that it opts-in to JSONP callback support 117Theo mặc định, tên gọi lại JSONP chỉ đơn giản là 4784. Ghi đè điều này bằng cài đặt tên gọi lại jsonpThe following are some examples of JSONP responses using the same code 118Tham gia 4316 được cung cấp làm thuộc tính của tham số để điền vào trường tiêu đề HTTP 4317 của phản hồiFor example, the following call 119Yields the following results 120Sets the response 4318 HTTP header to the specified 787 parameter 121Giá trị 787 của “back” có ý nghĩa đặc biệt, nó đề cập đến URL được chỉ định trong tiêu đề 3698 của yêu cầu. If the 3698 header was not specified, it refers to “/”After encoding the URL, if not encoded already, Express passes the specified URL to the browser in the 4318 header, without any validationCá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 đề 4318; độ 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ừ 787 được chỉ định, với 4326 đượ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, 4326 mặc định là “302 “Đã tìm thấy” 122Redirects can be a fully-qualified URL for redirecting to a different site 123Redirects can be relative to the root of the host name. For example, if the application is on 4328, the following would redirect to the URL 4329 124Redirects can be relative to the current URL. For example, from 4330 (notice the trailing slash), the following would redirect to the URL 4331 125Redirecting to 4332 from 4333 (no trailing slash), will redirect to 4334If you found the above behavior confusing, think of path segments as directories (with trailing slashes) and files, it will start to make sense Chuyển hướng tương đối đường dẫn cũng có thể. If you were on 4328, the following would redirect to 4336 126Chuyển hướng 4337 chuyển hướng yêu cầu trở lại người giới thiệu, mặc định là 3369 khi người giới thiệu bị thiếu 127độ phân giải. render(view [, locals] [, callback])Renders a 4339 and sends the rendered HTML string to the client. Optional parameters
Đối số 4339 là một chuỗi là đường dẫn tệp của tệp xem để hiển thị. Đây có thể là đường dẫn tuyệt đối hoặc đường dẫn liên quan đến cài đặt 3344. Nếu đường dẫn không chứa phần mở rộng tệp, thì cài đặt 3348 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 3013) and render it using the loaded module’s 4347 functionĐể biết thêm thông tin, hãy xem Sử dụng công cụ mẫu với Express GHI CHÚ. The 4339 argument performs file system operations like reading a file from disk and evaluating Node. js và vì lý do bảo mật, không nên chứa đầu vào từ người dùng cuốiThe local variable 3305 enables view caching. Đặt nó thành 175, để lưu trữ chế độ xem trong quá trình phát triển; 128res. reqThuộc tính này giữ một tham chiếu đến đối tượng yêu cầu liên quan đến đối tượng phản hồi nàyres. gửi([cơ thể])Gửi phản hồi HTTP The 164 parameter can be a 197 object, a 4353, an object, 4354, or an 4355. Ví dụ 129This method performs many useful tasks for simple non-streaming responses. Ví dụ: nó tự động chỉ định trường tiêu đề phản hồi HTTP 4356 (trừ khi được xác định trước đó) và cung cấp hỗ trợ làm mới bộ đệm HEAD và HTTP tự độngKhi tham số là một đối tượng 197, phương thức này sẽ đặt trường tiêu đề phản hồi 160 thành “application/octet-stream”, trừ khi được định nghĩa trước đó như minh họa bên dưới 130Khi tham số là một 4353, phương thức này đặt 160 thành “text/html” 131When the parameter is an 4355 or 4362, Express responds with the JSON representation 132res. sendFile(path [, options] [, fn]) 4363 is supported by Express v4. 8. 0 trở điChuyển tệp tại 787 đã cho. Đặt trường tiêu đề HTTP phản hồi 160 dựa trên phần mở rộng của tên tệp. Unless the 747 option is set in the options object, 787 must be an absolute path to the fileAPI này cung cấp quyền truy cập vào dữ liệu trên hệ thống tệp đang chạy. Đảm bảo rằng (a) cách mà đối số 787 được xây dựng thành một đường dẫn tuyệt đối là an toàn nếu nó chứa đầu vào của người dùng hoặc (b) đặt tùy chọn 747 thành đường dẫn tuyệt đối của một thư mục để chứa quyền truy cập bên trongKhi tùy chọn 747 được cung cấp, đối số 787 được phép là một đường dẫn tương đối, bao gồm chứa 4372. Express sẽ xác thực rằng đường dẫn tương đối được cung cấp dưới dạng 787 sẽ giải quyết trong tùy chọn 747 đã choBảng sau đây cung cấp thông tin chi tiết về tham số 173PropertyDescriptionDefaultAvailability 764Đặt thuộc tính max-age của tiêu đề 763 tính bằng mili giây hoặc một chuỗi ở định dạng ms0 747Thư mục gốc cho tên tệp tương đối. 770Sets the 771 header to the last modified date of the file on the OS. Set 741 to disable it. Đã bật4. 9. 0+______23989Object chứa các tiêu đề HTTP để phân phát cùng với tệp. 752Tùy chọn phân phối tệp dotfile. Các giá trị có thể là “cho phép”, “từ chối”, “bỏ qua”. “ignore” 3993Enable or disable accepting ranged requests. 1754. 14+ 3995Enable or disable setting 763 response header. 1754. 14+______6761Bật hoặc tắt chỉ thị 761 trong tiêu đề phản hồi 763. Nếu được bật, tùy chọn 764 cũng phải được chỉ định để bật bộ nhớ đệm. Chỉ thị 761 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 764 để kiểm tra xem tệp đã thay đổi chưa. 7414. 16+The method invokes the callback function 4305 when the transfer is complete or when an error occurs. Nếu chức năng gọi lại được chỉ định và xảy ra lỗi, chức năng gọi lại phải xử lý rõ ràng quy trình phản hồi bằng cách kết thúc chu kỳ phản hồi yêu cầu hoặc bằng cách chuyển điều khiển sang tuyến tiếp theoĐây là một ví dụ về việc sử dụng 4397 với tất cả các đối số của nó 133Ví dụ sau minh họa việc sử dụng 4397 để cung cấp hỗ trợ chi tiết cho việc cung cấp tệp 134Để biết thêm thông tin hoặc nếu bạn có vấn đề hoặc lo ngại, hãy xem gửi res. sendStatus(statusCode)Đặt mã trạng thái HTTP phản hồi thành 4399 và gửi thông báo trạng thái đã đăng ký dưới dạng nội dung phản hồi văn bản. If an unknown status code is specified, the response body will just be the code number 135Một số phiên bản của Node. js sẽ ném khi 4500 được đặt thành mã trạng thái HTTP không hợp lệ (nằm ngoài phạm vi 4501 đến 4502). Tham khảo tài liệu máy chủ HTTP cho Node. phiên bản js đang được sử dụngMore about HTTP Status Codes độ phân giải. đặt (trường [, giá trị])Sets the response’s HTTP header 3931 to 3309. To set multiple fields at once, pass an object as the parameter 136Bí danh là 4505res. trạng thái (mã)Sets the HTTP status for the response. It is a chainable alias of Node’s response. statusCode 137res. type(type)Sets the 160 HTTP header to the MIME type as determined by the specified 161. If 161 contains the “/” character, then it sets the 160 to the exact value of 161, otherwise it is assumed to be a file extension and the MIME type is looked up in a mapping using the 4511 method 138độ phân giải. vary(field)Thêm trường vào tiêu đề phản hồi 4512, nếu nó chưa có 139RouterMột đối tượng 746 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ợpA router behaves like middleware itself, so you can use it as an argument to app. use() hoặc làm đối số cho phương thức use() của bộ định tuyến khác The top-level 159 object has a Router() method that creates a new 746 objectKhi 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ư 743, 744, 745, v.v.) vào nó giống như một ứng dụng. For example 140Sau đó, 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ỏ 141phương pháprouter. all(path, [callback, . ] gọi lại)Phương thức này giống như các phương thức của 4519, 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; 142Or the equivalent 143Mộ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” 144router. PHƯƠNG PHÁP (đường dẫn, [gọi lại,. ] callback)Các phương thức 4519 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à 4523, 4524, 4525, v.v.The 4523 function is automatically called for the HTTP 3063 method in addition to the 3064 method if 4529 was not called for the path before 4523You can provide multiple callbacks, and all are treated equally, and behave just like middleware, except that these callbacks may invoke 4785 to bypass the remaining route callback(s). 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 translates the path strings to regular expressions, used internally to match incoming requests. 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” 145Bạ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” 146router. param(tên, gọi lại)Adds callback triggers to route parameters, where 4793 is the name of the parameter and 4784 is the callback function. Although 4793 is technically optional, using this method without it is deprecated starting with Express v4. 11. 0 (xem bên dưới)Các tham số của hàm gọi lại là
Unlike 3083, 4540 does not accept an array of route parametersFor example, when 3075 is present in a route path, you may map user loading logic to automatically provide 3076 to the route, or perform validations on the parameter input 147Param callback functions are local to the router on which they are defined. 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 746 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 746A param callback will be called only once in a request-response cycle, even if the parameter is matched in multiple routes, as shown in the following examples 148Trên 3079, phần sau được in 470Phần sau đây mô tả 4546, không được dùng nữa kể từ v4. 11. 0Hành vi của phương thức 4547 có thể được thay đổi hoàn toàn bằng cách chỉ chuyển một hàm cho 4540. Hàm này là một triển khai tùy chỉnh về cách hoạt động của 4547 - hàm này chấp nhận hai tham số và phải trả về một phần mềm trung gianThe first parameter of this function is the name of the URL parameter that should be captured, the second parameter can be any JavaScript object which might be used for returning the middleware implementation 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ý 4547 được sửa đổi thành 4551. Instead of accepting a name and a callback, 4540 will now accept a name and a number 150Trong ví dụ này, chữ ký 4547 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 151router. route(path)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. Use 4554 to avoid duplicate route naming and thus typing errorsDựa trên ví dụ về 4540 ở trên, đoạn mã sau cho biết cách sử dụng 4554 để chỉ định các trình xử lý phương thức HTTP khác nhau 152This approach re-uses the single 4557 path and adds handlers for various HTTP methodsNOTE. When you use 4554, middleware ordering is based on when the route is created, not when method handlers are added to the route. 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àorouter. sử dụng ([đường dẫn], [chức năng,. ] hàm số)Uses the specified middleware function or functions, with optional mount path 787, that defaults to “/”This method is similar to app. use(). Một ví dụ đơn giản và trường hợp sử dụng được mô tả bên dưới. See app. use() for more information Middleware is like a plumbing pipe. 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 153Đườ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 4560 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 154Now suppose you wanted to ignore logging requests for static files, but to continue logging routes and middleware defined after 4561. Bạn chỉ cần di chuyển cuộc gọi đến 4562 lên trên cùng, trước khi thêm phần mềm trung gian logger 155Mộ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 156Phương pháp 4560 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ể hưởng lợi từ việc tải trước bằng các tham số được đặt tênGHI CHÚ. Although these middleware functions are added via a particular router, when they run is defined by the path they are attached to (not the router). 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. For example, this code shows two different routers mounted on the same path 157Even though the authentication middleware was added via the 4564 it will run on the routes defined by the 4565 as well since both routers were mounted on 4566. To avoid this behavior, use different paths for each router
Làm cách nào để gửi HTML trong Express?Bước 1 – Thiết lập dự án. Đầu tiên, mở cửa sổ terminal của bạn và tạo một thư mục dự án mới. mkdir express-sendfile-ví dụ. Sau đó, điều hướng đến thư mục vừa tạo. . Step 2 – Using res. sendFile() Revisit server. js with your code editor and add path , . get() and res. Gửi file(). người phục vụ. js Làm cách nào để gửi HTML trong nodejs?get("/", (req, res) => { res. sendFile(__dirname + "/index. html"); }); Lưu tệp và mở http. //máy chủ cục bộ. 3000/ in the browser, and the server will send a web page as expected.
How can we render plain HTML in Express?The res. sendFile() phương thức của express. js module is used to render a particular HTML file that is present in the local machine. |