如果想要在輸入url
后直接訪問服務(wù)端的靜態(tài)文件,比如css
、js
、文件等,就需要知道這些靜態(tài)文件的定位,在express
框架中express.static
中間件函數(shù)可以幫助我們實(shí)現(xiàn)。
Staic
是express
內(nèi)置中間件函數(shù),服務(wù)于靜態(tài)文件,基于靜態(tài)服務(wù)。Staic
函數(shù)封裝在serve-static
模塊當(dāng)中,serve-static
模塊拋出的serveStatic
就是static
方法。
上面注釋說明了方法的作用,大概是說該中間件函數(shù)為給定根目錄的文件提供服務(wù),要服務(wù)的文件將通過將req.url
與提供的根目錄相結(jié)合來確定。當(dāng)找不到文件時(shí),此模塊將改為調(diào)用next()
以轉(zhuǎn)到下一個中間件。廢話不多說,實(shí)際操作一下:
在瀏覽器地址欄輸入http://127.0.0.1:8888/public/images/111.jpg
發(fā)現(xiàn)可以訪問到服務(wù)端靜態(tài)圖片。
中間件函數(shù)要服務(wù)的文件將通過將req.url
與提供的根目錄相結(jié)合來確定,也就是說http://127.0.0.1:8888/
訪問的就是中間件指定的目錄。上圖中http://127.0.0.1:8888/
對應(yīng)的是項(xiàng)目的根目錄,所以在http://127.0.0.1:8888/
后面加上public/images/111.jpg
就可以訪問到靜態(tài)圖片了。
如果要使用多個靜態(tài)資源目錄,請多次調(diào)用express.static
中間件函數(shù),Express
以您使用express.static
中間件函數(shù)設(shè)置靜態(tài)目錄的順序來查找文件。要為express.static
函數(shù)提供的文件創(chuàng)建虛擬路徑前綴(路徑并不實(shí)際存在于文件系統(tǒng)中,請為靜態(tài)目錄指定安裝路徑。
其中,/images
和/files
是指定的虛擬目錄,在服務(wù)端中實(shí)際是不存在的。
參考鏈接:https://www.jb51.net/article/172167.htm
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。