在Express中提供靜態(tài)文件的實(shí)現(xiàn)方法
為了提供諸如圖像、CSS 文件和 JavaScript 文件之類的靜態(tài)文件,請使用 Express 中的 express.static 內(nèi)置中間件函數(shù)。
將包含靜態(tài)資源的目錄的名稱傳遞給 express.static 中間件函數(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
Express 相對于靜態(tài)目錄查找文件,因此靜態(tài)目錄的名稱不是此 URL 的一部分。
要使用多個靜態(tài)資源目錄,請多次調(diào)用 express.static 中間件函數(shù):
app.use(express.static('public')); app.use(express.static('files'));
Express 以您使用 express.static 中間件函數(shù)設(shè)置靜態(tài)目錄的順序來查找文件。
要為 express.static 函數(shù)提供的文件創(chuàng)建虛擬路徑前綴(路徑并不實(shí)際存在于文件系統(tǒng)中),請為靜態(tài)目錄指定安裝路徑,如下所示:
app.use('/static', express.static('public'));
現(xiàn)在,可以訪問具有 /static 路徑前綴的 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
然而,向 express.static 函數(shù)提供的路徑相對于您在其中啟動 node 進(jìn)程的目錄。如果從另一個目錄運(yùn)行 Express 應(yīng)用程序,那么對于提供資源的目錄使用絕對路徑會更安全:
app.use('/static', express.static(__dirname + '/public'));
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于 Node 實(shí)現(xiàn)簡易 serve靜態(tài)資源服務(wù)器的示例詳解
靜態(tài)資源服務(wù)器(HTTP 服務(wù)器)可以將靜態(tài)文件(如 js、css、圖片)等通過 HTTP 協(xié)議展現(xiàn)給客戶端。本文介紹如何基于 Node 實(shí)現(xiàn)一個簡易的靜態(tài)資源服務(wù)器,感興趣的朋友一起看看吧2022-06-06node vue項(xiàng)目開發(fā)之前后端分離實(shí)戰(zhàn)記錄
其實(shí)基于vue.js+node.js構(gòu)建的開源博客系統(tǒng)有很多,下面這篇文章主要給大家介紹了關(guān)于node vue項(xiàng)目開發(fā)之前后端分離的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。2017-12-12淺析Node.js的Stream模塊中的Readable對象
這篇文章主要介紹了淺析Node.js的Stream模塊中的Readable對象,是Node.js入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-07-07Node.js中使用mongoskin操作mongoDB實(shí)例
這篇文章主要介紹了Node.js中使用mongoskin操作mongoDB實(shí)例,Mongous是一個輕量級的nodejs mongodb驅(qū)動,需要的朋友可以參考下2014-09-09socket.io學(xué)習(xí)教程之基本應(yīng)用(二)
socket.io提供了基于事件的實(shí)時雙向通訊,下面這篇文章主要給大家介紹了socket.io基本應(yīng)用的相關(guān)資料,對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04node.js利用mongoose獲取mongodb數(shù)據(jù)的格式化問題詳解
這篇文章主要給大家介紹了關(guān)于node.js利用mongoose獲取mongodb數(shù)據(jù)的格式化問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)把。2017-10-10