Nodo, la diferencia entre desarrollo y producción

Aprenda a configurar diferentes configuraciones para entornos de producción y desarrollo.

Puede tener diferentes configuraciones para entornos de producción y desarrollo.

Node asume que siempre se ejecuta en un entorno de desarrollo. Puede indicar a Node.js que está ejecutando en producción configurando elNODE_ENV=productionVariable ambiental.

Esto generalmente se hace ejecutando el comando

export NODE_ENV=production

en el shell, pero es mejor ponerlo en su archivo de configuración del shell (por ejemplo,.bash_profilecon el shell Bash) porque, de lo contrario, la configuración no persiste en caso de reiniciar el sistema.

También puede aplicar la variable de entorno anteponiéndola al comando de inicialización de su aplicación:

NODE_ENV=production node app.js

Esta variable de entorno es una convención que también se usa ampliamente en bibliotecas externas.

Establecer el entorno paraproductiongeneralmente asegura que

  • la tala se mantiene a un nivel mínimo y esencial
  • se llevan a cabo más niveles de almacenamiento en caché para optimizar el rendimiento

Por ejemplo, Pug, la biblioteca de plantillas utilizada por Express, se compila en modo de depuración siNODE_ENVno está configurado paraproduction. Las vistas exprés se compilan en cada solicitud en modo de desarrollo, mientras que en producción se almacenan en caché. Hay muchos más ejemplos.

Express proporciona enlaces de configuración específicos para el entorno, que se llaman automáticamente en función del valor de la variable NODE_ENV:

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

Por ejemplo, puede usar esto para configurar diferentes controladores de errores para diferentes modos:

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

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

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: