javascript - node - ¿Cómo se detecta el entorno en una aplicación express.js?
node js install express windows (6)
Hay muchas recomendaciones útiles en otras respuestas. Generalmente lo estoy haciendo así:
const environment = process.env.NODE_ENV || ''development'';
Lo bueno es que ese enfoque no es específico de Express per se, pero en realidad es una práctica aceptada en el ecosistema Node.js más amplio.
Además, he implementado un módulo reutilizable, que permite detectar el entorno automáticamente mediante el análisis de los argumentos CLI y la variable NODE_ENV. Esto podría ser útil en su máquina de desarrollo, porque puede cambiar fácilmente el entorno pasando un argumento CLI a su programa Node.js de la siguiente manera: $ node app.js --prod
.
Por favor, vea más detalles y casos de uso en la página de detect-environment
.
¿Cómo se detecta en qué entorno se está ejecutando una aplicación expressJS? (desarrollo, prueba, producción?). No hay nada en process.env
indique un entorno ...
Soy consciente de que puede declarar variables en su archivo de configuración en cada entorno, pero eso no ayuda si está cargando módulos dinámicamente ...
Me gustaría abordar una forma sencilla de pasar las variables NODE_ENV a su script de nodo para acceder a ellas en process.env
"scripts": {
"start": "./node_modules/.bin/cross-env NODE_ENV=development ./node_modules/.bin/nodemon server.js",
"debug": "./node_modules/.bin/cross-env NODE_ENV=development ./node_modules/.bin/nodemon --debug server.js",
"test": "./node_modules/.bin/cross-env NODE_ENV=test ./node_modules/.bin/babel-tape-runner test/test-*.js"
},
se puede usar como
if ( app.get(''env'') === ''development'' ) {
app.use(express.errorHandler());
}
Puede detectar en qué entorno se encuentra inspeccionando app.settings.env
.
Puede verificar el entorno comprobando la app.settings.env
(esto funcionará en Express), o puede hacerlo de una manera más directa comprobando process.env.NODE_ENV
(el entorno es el que se encuentra en esa variable o ''desarrollo'' por defecto <esto también funciona en otras bibliotecas como Socket.IO, etc.).
app.get (''env'') también devolvería el entorno.
if ( app.get(''env'') === ''development'' ) {
app.use(express.errorHandler());
}
no puede acceder al servidor nodejs. puede detectar el nodo env de express usando app.setting.env
-
var app = express();
- app.setting.env renderizado en el motor de plantillas.
- consultar desde el navegador.