關鍵要點
Node.js 徹底改變了 Web 開發,Express 框架功不可沒。 Express 可能不是最快或最先進的服務器選項,但它幾乎肯定是使用最廣泛的,每月下載量超過 300 萬次。如果您什麼都不做,Node.js 和 Express 的運行速度也會非常快。但是,有一些簡單的方法可以使 Express 4.x 運行得更快……
Express 可以運行在多種模式下。默認情況下,它假定為開發模式,該模式提供異常堆棧跟踪和其他日誌記錄任務。還有一個調試模式,它將消息記錄到控制台,例如:
<code>DEBUG=express:* node ./app.js</code>
在您的實時服務器上,您可以通過切換到生產模式來顯著提高性能。這可以通過將 NODE_ENV 環境變量設置為 production 來實現。可以在啟動 Express 應用程序之前在 Windows 的當前會話中設置它:
<code>set NODE_ENV=production</code>
或 Mac/Linux:
<code>export NODE_ENV=production</code>
Linux 用戶還可以在啟動時在一行中設置 NODE_ENV:
<code>NODE_ENV=production node ./app.js</code>
理想情況下,您應該通過將 <code>export NODE_ENV=production</code> 添加到您的 ~/.bash_profile
或相應的啟動腳本中來配置您的環境。
Express 4.x 提供了最少的可用功能,可以通過中間件來增強。一個不太明顯的缺失功能是 GZIP 壓縮,它可以縮小 HTTP 負載,以便瀏覽器在接收時可以對其進行擴展。要添加 GZIP,請使用 npm 安裝 compression 模塊:
<code>npm install compression --save</code>
(根據您的設置,您可能需要在 Mac/Linux 上使用 sudo——有很多方法可以解決這個問題。)在您的主要應用程序啟動文件中,包含 compression 模塊:
<code>var compression = require('compression');</code>
然後將其作為第一個中間件函數(在其他 Express .use 方法之前)安裝:
<code>DEBUG=express:* node ./app.js</code>
如果您使用 Express Generator 或類似的過程生成了預構建的應用程序,請刪除您未使用的任何中間件模塊。例如,如果您不使用 cookie,您可以刪除 cookie-parser 模塊或使用 req.cookies 和 res.cookie 實現更簡單的替代方案。在生產模式下,可以刪除某些進程,例如調試輸出,例如:
<code>set NODE_ENV=production</code>
也就是說,最好保留 serve-favicon。瀏覽器會頻繁請求 favicon.ico 文件,並且該模塊可以改進緩存。
Jade 是許多 Express 安裝的默認模板引擎,它是一個不錯的選擇。但是,如果您樂於編寫自己的 HTML,並且只需要基本的插值和求值,請考慮使用輕量級的替代方案,例如 doT,它可以使用 express-dot-engine 模塊作為 Express 中間件添加。或者,您可以繞過模板引擎以獲得更簡單的響應,例如:
<code>export NODE_ENV=production</code>
無論您使用哪個模板引擎,始終確保啟用了視圖緩存:
<code>NODE_ENV=production node ./app.js</code>
與大多數基於服務器的應用程序不同,Node.js 應用程序永久運行。因此,您可以設置諸如數據庫連接對象之類的常用變量一次,並在每個用戶的每個請求期間重複使用它們。可以根據需要擴展此概念。一般來說,您可以緩存的常用項目越多,性能就越好。例如,假設您的基於 Express 的 CMS 應用程序在主頁上顯示了您最近五篇文章的鏈接。該列表可以生成並存儲在一個變量中,並且僅在發布新文章時更新。
額外快速提示
想要更多? …
<code>npm install compression --save</code>
您是否有其他關於 Node.js 或 Express 的性能提示?我很樂意在評論中聽到它們。
(此處應添加關於 Node.js 性能調整的常見問題的章節,內容與輸入文本中提供的相同)
以上是5個簡易性能調整node.js express的詳細內容。更多資訊請關注PHP中文網其他相關文章!