节点,开发与生产之间的区别

了解如何为生产和开发环境设置不同的配置

您可以为生产和开发环境使用不同的配置。

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手册


更多节点教程: