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.