Express 文檔(靜態文件)

靜態文件

要提供靜態文件(如images、CSS文件和JavaScript文件),請使用Express中的express.static內置中間件功能,函數簽名是:css

express.static(root, [options])

root參數指定從中提供靜態資源的根目錄,有關options參數的更多信息,請參閱express.statichtml

例如,使用如下代碼在名爲public的目錄中提供images、CSS文件和JavaScript文件:node

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

如今,你能夠加載public目錄中的文件:express

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會查找相對於靜態目錄的文件,所以靜態目錄的名稱不是URL的一部分。

要使用多個靜態資源目錄,請屢次調用express.static中間件函數:segmentfault

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

Express按照使用express.static中間件函數設置靜態目錄的順序查找文件。緩存

注意:爲得到最佳結果,請使用反向代理緩存來提升服務靜態資源的性能。

要爲express.static函數提供的文件建立虛擬路徑前綴(文件系統中實際不存在路徑),請爲靜態目錄指定掛載路徑,以下所示:安全

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

如今,你能夠從/static路徑前綴加載public目錄中的文件。app

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函數的路徑是相對於啓動node進程的目錄,若是從另外一個目錄運行express應用程序,則使用要提供的目錄的絕對路徑更安全:函數

app.use('/static', express.static(path.join(__dirname, 'public')))

有關serve-static函數及其選項的更多詳細信息,請參閱serve-static性能


上一篇:路由基礎

下一篇:常見問題

相關文章
相關標籤/搜索