[譯]關於NODE_ENV,哪些你應該瞭解

原文css

Node.js開發者常常檢測環境變量NODE_ENV,但你是否知道設置這個值同時也具備着某些別的意義?閱讀本文你將發現這些。前端

NODE_ENV是一個在Express框架中極其經常使用的環境變量。用其肯定應用的運行環境(諸如開發,staging,生產,測試...)。node

一般,應用將會運行在開發環境。咱們能夠經過改變process.env.NODE_ENV來改變環境。讓咱們來看看框架/庫在不一樣環境下的表現。mongodb

開發環境

  • 顯示更多日誌express

  • 不緩存視圖npm

  • 生成較冗餘的錯誤信息緩存

  • js,css這類前端資源,不壓縮不緩存框架

生產環境

如下是與框架無關的一些特色:mongoose

  • 中間件及其餘依賴會被切換到更高效的代碼路徑性能

  • 只安裝dependencies中的包,dependenciespeerDependencies的中包會被忽略

express.js

  • 緩存視圖框架

  • 生成更簡短的錯誤信息

  • 緩存資源文件

sailsjs

  • 能夠使用CSRF

  • 壓縮服務端響應(詳見https://www.npmjs.com/package...

  • 模塊遷移的設置被強制定位'safe'。這能夠保證在部署時不會破壞生產數據。

  • res.serverError()追蹤錯誤信息與錯誤棧會被存在日誌中而不是經過服務端響應返回。

mongoose

全局禁用autoIndex。這能顯著提升性能(詳見http://docs.mongodb.org/manua...)。

還有許多這裏就不一一列出。如你所見,將NODE_ENV設爲production能達到更好的性能。因此這個變量在全球Node開發者心中有如此重要的地位。你應該牢記「老是將NODE_ENV設爲production」。

相關文章
相關標籤/搜索