126 votes

Comment puis-je définir une variable d'environnement dans node.js ?

Comment puis-je définir une variable d'environnement dans node.js ?

Je préférerais ne pas dépendre de quelque chose de spécifique à la plate-forme, comme l'exécution de l'ensemble d'export ou de cmd.exe.

1 votes

Vous pouvez lire cette réponse stackoverflow.com/a/57509175/11127383

188voto

lanzz Points 19475

Vous pouvez définir vos variables d'environnement dans process.env :

process.env['VARIABLE'] = 'value';

-OR-

process.env.VARIABLE = 'value';

Node devrait s'occuper des spécificités de la plateforme.

4 votes

Je ne pense pas que vous ayez besoin de faire var process = require('process') le processus est une variable globale présente.

110 votes

Notez cependant que cette opération ne définira la variable qu'à l'intérieur de votre processus de nœud et de tout processus enfant qu'il appelle ; elle ne laissera pas, par exemple, la variable définie dans le shell lorsque le processus de nœud quittera (la modification de l'environnement d'un processus parent dépend beaucoup du système et n'est même pas toujours possible).

2 votes

Quelqu'un a t-il une opinion sur la variable process.env.vs global.variable ?

3voto

jagjeet Points 31

Vous devez d'abord installer ce paquet :- https://github.com/motdotla/dotenv [ npm install dotenv ]

Ensuite, vous devez créer un fichier .env dans le répertoire racine de votre projet, et vous pouvez y ajouter des variables comme celles ci-dessous:-

NODE_ENV=PRODUCTION
DATABASE_HOST=localhost

Maintenant vous pouvez facilement accéder à ces variables dans votre code comme ci-dessous:-

require('dotenv').config()
console.log(process.env.NODE_ENV);

Ça a marché pour moi, j'espère que ça vous aidera.

2voto

Lord Points 2720

nœud v14.2.0 Pour définir une variable env, créez d'abord un fichier nommé config.env dans le répertoire d'origine de votre projet, puis écrivez toutes les variables dont vous avez besoin, par exemple

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=UDJUKXJSSJPWMxw

installez maintenant dotenv depuis npm, dotenv vous déchargera de votre travail

npm i dotenv

maintenant dans votre serveur de démarrage script, dans mon cas c'est server.js utiliser doenv pour charger les 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}...`);
});

J'utilise express, tout mon code express dans app.js, écrit ici pour votre référence.

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;

maintenant démarrez votre serveur en utilisant la console, j'utilise nodemon vous pouvez l'installer à partir de npm ;

nodemon server.js

0voto

spadletskys Points 64

Ce que je fais, c'est que j'installe d'abord le paquet dotenv depuis npm.

npm install dotenv

Puis je l'importe dans mon dossier.

require('dotenv').config();

Alors vous êtes prêt à partir :)

Vous pouvez lire les variables en utilisant :

console.log(process.env.MY_VARIABLE);

Bien que vous puissiez SET une Variable en utilisant :

process.env.MY_OTHER_VARIABLE = 'helloworld ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X