Truy cập file tĩnh trong express

Một phần của tài liệu Giáo trình môn học phát triển mã nguồn mở với NodeJS (ngànhnghề thiết kế trang web) (Trang 40 - 43)

7. Express Framework

7.5.5 Truy cập file tĩnh trong express

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

Phạm Đình Nam –Trường Caođẳng nghề Đà Lạt Trang 39

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

express.static(root, [options]) Mô tả tham số

expressthể 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.

var express = require('express'); var app = express();

app.use(express.static('public')) app.listen(3000)

Bây giờ các bạn có thể truy cập các file có trong thư mục public. http://localhost:3000/images/logo.jpg

http://localhost:3000/css/style.css http://localhost:3000/js/app.js http://localhost:3000/images/bg.png http://localhost:3000/hello.html

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.

app.use(express.static('public')) app.use(express.static('files'))

Để 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.

app.use('/static', express.static('public'))

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.

Phạm Đình Nam –Trường Caođẳng nghề Đà Lạt Trang 40 http://localhost:3000/static/css/style.css http://localhost:3000/static/js/app.js http://localhost:3000/static/images/bg.png http://localhost:3000/static/hello.html 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ấuchấmbên dưới. String “ignore”

etag

Bật hoặc tắt thế hệ etagLƯU Ý: express.staticluôn gửi cácthẻ

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ỉ

Phạm Đình Nam –Trường Caođẳng nghề Đà Lạt Trang 41

Thuộc tính Miêu tả Kiểu Mặc định

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

Một phần của tài liệu Giáo trình môn học phát triển mã nguồn mở với NodeJS (ngànhnghề thiết kế trang web) (Trang 40 - 43)

Tải bản đầy đủ (PDF)

(72 trang)