利用 Express 托管靜態(tài)文件

2018-09-21 11:48 更新

通過(guò) Express 內(nèi)置的 express.static 可以方便地托管靜態(tài)文件,例如圖片、CSS、JavaScript 文件等。

將靜態(tài)資源文件所在的目錄作為參數(shù)傳遞給 express.static 中間件就可以提供靜態(tài)資源文件的訪問了。例如,假設(shè)在 public 目錄放置了圖片、CSS 和 JavaScript 文件,你就可以:

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

現(xiàn)在,public 目錄下面的文件就可以訪問了。

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
所有文件的路徑都是相對(duì)于存放目錄的,因此,存放靜態(tài)文件的目錄名不會(huì)出現(xiàn)在 URL 中。

如果你的靜態(tài)資源存放在多個(gè)目錄下面,你可以多次調(diào)用 express.static 中間件:

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

訪問靜態(tài)資源文件時(shí),express.static 中間件會(huì)根據(jù)目錄添加的順序查找所需的文件。

如果你希望所有通過(guò) express.static 訪問的文件都存放在一個(gè)“虛擬(virtual)”目錄(即目錄根本不存在)下面,可以通過(guò)為靜態(tài)資源目錄指定一個(gè)掛載路徑的方式來(lái)實(shí)現(xiàn),如下所示:

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

現(xiàn)在,你就愛可以通過(guò)帶有 “/static” 前綴的地址來(lái)訪問 public 目錄下面的文件了。

http://localhost:3000/static/images/kitten.jpg
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
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)