Node.js 16 – Truy cập file tĩnh trong express

0
290

Như các bạn đã biết mỗi đường dẫn để chúng ta truy cập ở trong server express đều được lắng nghe và điều hướng bởi router.

Chính vì thế khi muốn ứng dụng của chúng ta có thể truy cập được các file tĩnh ở trên server chúng ta cũng phải tạo ra router cho các file ấy.

Việc tạo router cho một vài file thì không có gì khó, nhưng bạn thử hình dụng xem trong ứng dụng của chúng ta có thể có tới hàng chục hàng trăm file tĩnh mà ứng dụng cần phải truy cập, thì việc tạo router thực sự rất khó khăn.

Hiểu thấu được sự khó khăn của các bạn nên express đã cung cấp thêm cho các bạn một middleware để có thể tự động tạo ra các router truy cập file tĩnh cho các file.

Cấu hình và sử dụng

Việc cấu hình để truy cập file tĩnh trong express khá đơn giản.

Cú pháp

Mô tả tham số

  • express thể hiện của express khi được yêu cầu.
  • root đường dẫn gốc lưu trữ các file tĩnh
  • options các thiết lập khác

Ví dụ sau đây sẽ dùng để chia sẻ các tập tin tĩnh ở trong thư mục public.

Bây giờ các bạn có thể truy cập các file có trong thư mục public.

Express sẽ tìm kiếm các tệp liên quan đến thư mục chứa file tĩnh, vì vậy tên của thư mục chứa file sẽ không có trong URL.

Để sử dụng nhiều thư mục chứa file tĩnh. Bạn có thể thể gọi bằng express.static nhiều lần.

Để tạo tiền tố đường dẫn ảo cho các tập tin được cung cấp bởi express.static chúng ta có thể chỉ định nó như ví dụ bên dưới.

Lúc này các bạn có thể tải được các file trong thư mục public bằng tiền tố static.

Tham số options

Bảng sau đây mô tả các thuộc tính của optionsđối tượng. Xem thêm ví dụ bên dưới .

Thuộc tính Miêu tả Kiểu Mặc định
dotfiles Xác định cách dấu chấm (các tệp hoặc thư mục bắt đầu bằng dấu chấm “.”) Được xử lý.Xem dấu chấm bên dưới. String “ignore”
etag Bật hoặc tắt thế hệ etagLƯU Ý: express.staticluôn gửi các thẻ ETAG yếu. Boolean true
extensions Đặt các hạn chế của tệp mở rộng: Nếu không tìm thấy tệp, hãy tìm kiếm tệp có các tiện ích mở rộng được chỉ định và phân phát tệp đầu tiên được tìm thấy. Ví dụ: ['html', 'htm']. Mixed false
fallthrough Hãy để lỗi khách hàng gặp phải là các yêu cầu chưa được giải quyết, nếu không thì sẽ chuyển tiếp lỗi máy khách.Xem fallthrough dưới đây. Boolean true
immutable Bật hoặc tắt immutablechỉ thị trong Cache-Controltiêu đề phản hồi. Nếu được bật, maxAgetùy chọn cũng phải được chỉ định để bật bộ nhớ đệm. Các immutablechỉ thị sẽ ngăn chặn khách hàng được hỗ trợ những nhu cầu có điều kiện trong suốt cuộc đời của maxAgetùy chọn để kiểm tra xem các tập tin đã thay đổi. Boolean false
index Gửi tệp chỉ mục thư mục được chỉ định. Đặt thành falsetắt chỉ mục thư mục. Mixed “Index.html”
lastModified Đặt Last-Modifiedtiêu đề cho ngày sửa đổi cuối cùng của tệp trên hệ điều hành. Boolean true
maxAge Đặt thuộc tính độ tuổi tối đa của tiêu đề Bộ nhớ cache-Kiểm soát tính bằng mili giây hoặc chuỗi theo định dạng ms . Number 0
redirect Chuyển hướng đến dấu “/” khi tên đường dẫn là một thư mục. Boolean true
setHeaders Chức năng để đặt tiêu đề HTTP để phân phối cùng với tệp.Xem setHeaders dưới đây. Function

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây