簡體   English   中英

使用express / nodejs提供靜態文件

[英]Serving static files with express/nodejs

我已經設置了這樣的靜態文件:

app.use(express.static(__dirname));

app.get('/', function(req, res) {
    res.locals.message = 'Hello!';
    res.render('index');
});

這似乎有效。 這是通常的做法嗎? 我有點困惑,如果static在同一個端口上啟動自己的服務器,如果是這樣的話,這是一個好主意嗎?

如果您不需要高性能或特定的東西,這是標准方法。 它不會啟動單獨的服務器,而是在請求到來時,它會檢查路徑以查看是否可以從您添加為靜態的其中一個目錄中提供具有指定名稱的文件。

您可以為性能做兩件事。 第一個是一個簡單的修復 - 如果你在其余的處理程序之前添加express.static ,每個請求都會產生一個磁盤讀取,以檢查是否存在具有該名稱的文件。 您可以通過將靜態中間件放在最后(或通過將其安裝在前綴:例如/static )來解決此問題。

如果這對您來說不夠好,那么標准解決方案就是將高性能服務器放在node.js服務器前面。 一個例子是nginx服務器,它針對提供靜態文件進行了高度優化。 它可以處理靜態文件的請求,並將其余部分重定向到您的節點應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM