NodeJS之 Express框架 app.use(express.static)


參考文檔:https://blog.csdn.net/u010977147/article/details/60956502

一 、設置靜態文件目錄

語法如下:

app.use(express.static(_dirname + '/public'));  //設置靜態文件目錄

注: 將靜態文件目錄設置為項目根目錄 + ‘/public’,可以這樣寫

app.use(express.static(path.join(_dirname, 'public')));

運用path模版的join方法效果和前面是等價的。這里需要引用path模塊。

path.join():將多個參數組合成一個 path

二、靜態資源文件和動態資源文件是什么?

靜態資源文件:對於不同的用戶,內容都不會變化的文件。比如不管張三還是李四訪問百度,他們所看到的圖片、css、js文件都是一樣的,我們成為靜態資源文件;

動態資源文件: 對於不同用戶,做出不同反應的就是動態文件,例如張三李四登陸百度,百度會分別對他們顯示“張三,你好”、“李四,你好”,那么負責這些動態邏輯的文件就是動態文件了。

三、 app.use() 方法的作用

app.use : 用來給path注冊中間函數的。這個path默認是“/”,也就是處理任何請求,同時注意的是他會處理path下的子路徑,如果設置path為‘/hello’,那么請求路徑為‘/hello/’,'/hello/nihao','/hello/bye'這樣的請求都會交給中間函數處理的。

於是我們現在知道了app.use(express.static(_dirname + '/public'))是將所有請求,先交給express.static(_dirname + '/public')來處理一下。

四、express.static() 方法的作用

為了提供對靜態資源文件(圖片,css,js文件)的服務,請使用Express內置的中間函數express.static.

傳遞一個包含靜態資源的目錄給express.static中間件用於立即開始提供文件。 比如用以下代碼來提供public目錄下的圖片、css文件和js文件:

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

 

現在可以加載public目錄下的文件了:

比如: http://localhost:3000/image/jkk.png

通過多次使用 express。static中間件來添加多個靜態資源目錄:

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

Express將會按照你設置靜態資源目錄的順序來查看靜態資源文件。

為了給靜態資源文件創建一個虛擬的文件前綴(文件系統中不存在),可以使用express.static函數指定一個虛擬的靜態目錄,如下:

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

現在你可以使用‘/static’作為前綴來加載public文件夾下的文件了

比如: http:// localhost:3000/static/image/kitten.jpg

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM