圖片,CSS樣式文件JavaScript文件以及其他靜態(tài)文件的服務(wù),是通過Express內(nèi)置的中間件"express.static"來實現(xiàn)的.
"express.static"中間件直接通過識別被標記為靜態(tài)資源文件夾的名稱來提供靜態(tài)資源服務(wù).例如:如果你將圖片,CSS,和JavaScript文件保存在"public"文件夾中,你可以通過如下方式標記靜態(tài)資源文件夾:
app.use(express.static('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
備注:靜態(tài)文件的路徑是相對與被標記的文件夾的,因此,在引用靜態(tài)文件的路徑中不能包含被標記的文件夾名稱.
如果你想設(shè)置多個靜態(tài)資源文件夾,你可以多次調(diào)用'express.static'中間件:
app.use(express.static('public'));
app.use(express.static('files'));
Express會按照設(shè)置的順序加載靜態(tài)文件.
如果你想創(chuàng)建一個虛擬路徑(路徑在文件系統(tǒng)中不存在)來提供靜態(tài)資源服務(wù),你可以為靜態(tài)資源文件夾指定一個路徑,如下:
app.use('/static', express.static('public'));
現(xiàn)在,你可以通過前綴"/static"加載位于"public"文件夾中的靜態(tài)文件.如:
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