節點,開發與生產之間的區別

了解如何為生產和開發環境設置不同的配置

您可以為生產和開發環境使用不同的配置。

Node假定它始終在開發環境中運行。您可以通過設置NODE_ENV=production環境變量。

這通常是通過執行命令來完成的

export NODE_ENV=production

在shell中,但最好將其放在shell配置文件中(例如.bash_profileBash Shell)),因為否則在系統重新啟動時該設置將不會保留。

您還可以通過將環境變量放在應用程序初始化命令之前來應用它:

NODE_ENV=production node app.js

此環境變量是一種約定,在外部庫中也廣泛使用。

將環境設置為production通常確保

  • 日誌記錄保持在最低限度的必要水平
  • 發生更多的緩存級別以優化性能

例如,Express使用的模板庫Pug在以下情況下以調試模式編譯:NODE_ENV未設置為production。 Express視圖在開發模式下的每個請求中都進行編譯,而在生產環境中則將其緩存。還有更多示例。

Express提供了特定於環境的配置掛鉤,這些掛鉤根據NODE_ENV變量值自動調用:

app.configure('development', () => {
  //...
})
app.configure('production', () => {
  //...
})
app.configure('production', 'staging', () => {
  //...
})

例如,您可以使用它為不同的模式設置不同的錯誤處理程序:

app.configure('development', () => {
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
})

app.configure(‘production’, () => { app.use(express.errorHandler()) })

免費下載我的Node.js手冊


更多節點教程: