ExpressJS - Cung cấp các tệp tĩnh
Tệp tĩnh là tệp mà khách hàng tải xuống khi chúng ở trên máy chủ. Tạo một thư mục mới,public. Express, theo mặc định không cho phép bạn cung cấp các tệp tĩnh. Bạn cần kích hoạt nó bằng cách sử dụng phần mềm trung gian tích hợp sau.
app.use(express.static('public'));
Note - 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.
Lưu ý rằng tuyến gốc hiện đã được đặt thành công khai của bạn, vì vậy tất cả các tệp tĩnh bạn tải sẽ được coi là công khai dưới dạng gốc. Để kiểm tra xem điều này có hoạt động tốt hay không, hãy thêm bất kỳ tệp hình ảnh nào vàopublic dir và đổi tên thành "testimage.jpg". Trong dạng xem của bạn, hãy tạo dạng xem mới và bao gồm tệp này như -
html
head
body
h3 Testing static file serving:
img(src = "/testimage.jpg", alt = "Testing Image
Bạn sẽ nhận được kết quả sau:
Nhiều thư mục tĩnh
Chúng tôi cũng có thể đặt nhiều thư mục tài sản tĩnh bằng cách sử dụng chương trình sau:
var express = require('express');
var app = express();
app.use(express.static('public'));
app.use(express.static('images'));
app.listen(3000);
Tiền tố đường dẫn ảo
Chúng tôi cũng có thể cung cấp tiền tố đường dẫn để phục vụ các tệp tĩnh. Ví dụ: nếu bạn muốn cung cấp tiền tố đường dẫn như'/static', bạn cần bao gồm mã sau trong index.js tập tin -
var express = require('express');
var app = express();
app.use('/static', express.static('public'));
app.listen(3000);
Bây giờ, bất cứ khi nào bạn cần bao gồm một tệp, ví dụ, một tệp script có tên là main.js nằm trong thư mục chung của bạn, hãy sử dụng thẻ script sau:
<script src = "/static/main.js" />
Kỹ thuật này có thể hữu ích khi cung cấp nhiều thư mục dưới dạng tệp tĩnh. Các tiền tố này có thể giúp phân biệt giữa nhiều thư mục.