若是想要在輸入url
後直接訪問服務端的靜態文件,好比css
、js
、文件等,就須要知道這些靜態文件的定位,在express
框架中express.static
中間件函數能夠幫助咱們實現。css
Staic
是express
內置中間件函數,服務於靜態文件,基於靜態服務。Staic
函數封裝在serve-static
模塊當中,serve-static
模塊拋出的serveStatic
就是static
方法。
上面註釋說明了方法的做用,大概是說該中間件函數爲給定根目錄的文件提供服務,要服務的文件將經過將req.url
與提供的根目錄相結合來肯定。當找不到文件時,此模塊將改成調用next()
以轉到下一個中間件。廢話很少說,實際操做一下:
html
在瀏覽器地址欄輸入http://127.0.0.1:8888/public/images/111.jpg
發現能夠訪問到服務端靜態圖片。express
中間件函數要服務的文件將經過將req.url
與提供的根目錄相結合來肯定,也就是說http://127.0.0.1:8888/
訪問的就是中間件指定的目錄。上圖中http://127.0.0.1:8888/
對應的是項目的根目錄,因此在http://127.0.0.1:8888/
後面加上public/images/111.jpg
就能夠訪問到靜態圖片了。瀏覽器
若是要使用多個靜態資源目錄,請屢次調用express.static
中間件函數,Express
以您使用express.static
中間件函數設置靜態目錄的順序來查找文件。要爲express.static
函數提供的文件建立虛擬路徑前綴(路徑並不實際存在於文件系統中,請爲靜態目錄指定安裝路徑。
框架
其中,/images
和/files
是指定的虛擬目錄,在服務端中實際是不存在的。函數
參考連接:https://expressjs.com/zh-cn/starter/static-files.htmlurl