No creo que debas hacerlo var process = require('process'), el proceso es una variable global presente.
alessioalex
85
Sin embargo, tenga en cuenta que esto solo establecerá la variable dentro de su proceso de nodo y cualquier proceso hijo que llame; por ejemplo, no dejará la variable configurada en el shell cuando el proceso del nodo finalice (cambiar el entorno de un proceso padre depende mucho del sistema y no siempre es posible).
ebohlman
2
¿Alguien ofrece una opinión sobre process.env.variable vs global.variable?
Scott Silvi
3
process.env.VARIABLEestá bien si el nombre de la variable es una constante conocida, mientras que process.env['VARIABLE']funciona en cualquier caso; La pregunta original no especificaba suficientes detalles, por lo que el ejemplo más versátil parecía más adecuado.
Lanzz
3
@BillMorris no, no es posible que ningún proceso modifique el entorno de su padre
¿Qué tan seguro es el archivo .env utilizado por dotenv? Si los secretos son texto sin formato dentro de cadenas de entorno en el archivo .env, ¿es más seguro que tenerlos como texto sin formato en el código de su nodo? ¿Cuál es claramente un no-no?
Ric
0
node v14.2.0
Para establecer la variable env, primero cree un nombre de archivo config.env en el directorio de inicio de su proyecto y luego escriba todas las variables que necesita, por ejemplo
ahora instale dotenv desde npm, dotenv descargará su trabajo
npm i dotenv
ahora en el script de inicio de su servidor, en mi caso es server.js use doenv para cargar variables env.
const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv//starting serverconst port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`app running on port ${port}...`);
});
Estoy usando express, todo mi código express en app.js, escribiendo aquí para su referencia
Respuestas:
Puede configurar sus variables de entorno en
process.env:process.env['VARIABLE'] = 'value';-O-
process.env.VARIABLE = 'value';Node debe ocuparse de las especificaciones de la plataforma.
fuente
var process = require('process'), el proceso es una variable global presente.process.env.VARIABLEestá bien si el nombre de la variable es una constante conocida, mientras queprocess.env['VARIABLE']funciona en cualquier caso; La pregunta original no especificaba suficientes detalles, por lo que el ejemplo más versátil parecía más adecuado.Primero debe instalar este paquete: - https://github.com/motdotla/dotenv [
npm install dotenv]Luego, debe crear un archivo .env en el directorio raíz de su proyecto, y allí puede agregar variables como las siguientes:
Ahora puede acceder fácilmente a estas variables en su código como se muestra a continuación: -
require('dotenv').config() console.log(process.env.NODE_ENV);Funcionó para mí, espero que eso ayude.
fuente
node v14.2.0 Para establecer la variable env, primero cree un nombre de archivo config.env en el directorio de inicio de su proyecto y luego escriba todas las variables que necesita, por ejemplo
config.env
NODE_ENV=development PORT=3000 DATABASE=mongodb+srv://lord:<PASSWORD>@cluster0-eeev8.mongodb.net/tour-guide?retryWrites=true&w=majority DATABASE_LOCAL=mongodb://localhost:27017/tours-test DATABASE_PASSWORD=UDJUKXJSSJPWMxwahora instale dotenv desde npm, dotenv descargará su trabajo
ahora en el script de inicio de su servidor, en mi caso es server.js use doenv para cargar variables env.
const dotenv = require('dotenv'); dotenv.config({ path: './config.env' }); const app = require('./app'); // must be after loading env vars using dotenv //starting server const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`app running on port ${port}...`); });Estoy usando express, todo mi código express en app.js, escribiendo aquí para su referencia
const express = require('express'); const tourRouter = require('./route/tourRouter'); const userRouter = require('./route/userRouter'); if (process.env.NODE_ENV === 'development') { console.log('mode development'); } app.use(express.json()); app.use('/api/v1/tours', tourRouter); app.use('/api/v1/users', userRouter); module.exports = app;ahora inicie su servidor usando la consola, estoy usando nodemon , puede instalarlo desde npm;
fuente