原文css
Node.js開發者常常檢測環境變量
NODE_ENV
,但你是否知道設置這個值同時也具備着某些別的意義?閱讀本文你將發現這些。前端
NODE_ENV
是一個在Express框架中極其經常使用的環境變量。用其肯定應用的運行環境(諸如開發,staging,生產,測試...)。node
一般,應用將會運行在開發環境。咱們能夠經過改變process.env.NODE_ENV
來改變環境。讓咱們來看看框架/庫在不一樣環境下的表現。mongodb
顯示更多日誌express
不緩存視圖npm
生成較冗餘的錯誤信息緩存
js,css這類前端資源,不壓縮不緩存框架
如下是與框架無關的一些特色:mongoose
中間件及其餘依賴會被切換到更高效的代碼路徑性能
只安裝dependencies
中的包,dependencies
與peerDependencies
的中包會被忽略
緩存視圖框架
生成更簡短的錯誤信息
緩存資源文件
能夠使用CSRF
壓縮服務端響應(詳見https://www.npmjs.com/package...)
模塊遷移的設置被強制定位'safe'。這能夠保證在部署時不會破壞生產數據。
從res.serverError()
追蹤錯誤信息與錯誤棧會被存在日誌中而不是經過服務端響應返回。
全局禁用autoIndex。這能顯著提升性能(詳見http://docs.mongodb.org/manua...)。
還有許多這裏就不一一列出。如你所見,將NODE_ENV設爲production能達到更好的性能。因此這個變量在全球Node開發者心中有如此重要的地位。你應該牢記「老是將NODE_ENV設爲production」。