Trabajo con Windows y tuve un ligero problema con la variable de entorno en el archivo errorHandlres.js
if(config.dev) //siempre retornaba true
Haciéndome imposible visualizar el cambio de funcionalidad, de el errorHandler, en las pruebas con postman al cambiar de entorno(dev to prod).
Resulta que en Windows ocurre lo siguiente:
// En package.json
"start": "set NODE_ENV=production && node index"
//en errorHandlers.js
console.log(process.env.NODE_ENV === 'production') //false
console.log(process.env.NODE_ENV.trim() === 'production') //true
En windows al parecer inserta caracteres especiales a la variable de entorno. Por ello, realicé los siguientes cambios:
package.json:
"dev": "set DEBUG=app:* && set NODE_ENV=development && nodemon index",
config/index.js
dev: process.env.NODE_ENV.trim() !== 'production',
Para usar el entorno de desarrollo seteé la variable de entorno “development” para que al usar trim() no me marque error por asignar un método a un undefined.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?