Je veux utiliser des fichiers .env distincts pour chaque mode (développement, production, etc.). Lorsque vous travaillez sur mes projets VUE.JS, je peux utiliser des fichiers comme .env.development
ou alors .env.production
Pour obtenir des valeurs différentes pour la même clé ENV. (Exemple: dans .env.Développement: FOO = BAR et IN .ENV.PRODUCTION: FOO = Baz, dans le mode de développement Process.Env.foo serait un bar, en production, je serais Baz).
Je travaille sur un serveur Express et je veux utiliser ces mêmes types de fichiers .env pour stocker le port, la DB URI, l'utilisateur, les pwd ...
Je sais que je peux éditer les scripts dans forfait.json comme ceci:
"scripts": {
"start": "NODE_ENV=development PORT=80 node ./bin/www",
"start-prod": "NODE_ENV=production PORT=81 node ./bin/www"
}
mais cela devient en désordre lorsque vous utilisez plusieurs variables.
J'ai essayé d'utiliser Dotenv mais il semble que vous ne puissiez utiliser que le fichier .env. Pas .env.développement et .env.Production.
Puis-je utiliser le paquet Dotenv ou en avons-je besoin d'un autre? Ou pourrais-je faire cela sans aucun paquet?
J'utilise le Package NPM personnalisé pour gérer plusieurs fichiers .env. Il suffit de mettre cela en haut de votre code:
require('custom-env').env();
et il chargera des variables d'environnement à partir du fichier .env.X
, où x est la valeur de vous NODE_ENV
variable d'environnement. Par exemple: .env.test
ou alors .env.production
.
ICI est un bon tutoriel sur la façon d'utiliser l'emballage.
Je voulais juste ajouter ceci pour d'autres personnes qui ont des problèmes. Les deux réponses ci-dessus sont légèrement éteintes. laisse-moi expliquer. Le gars ci-dessus devait utiliser le chemin comme dans
//this says hey computer look in my current directory for this file.
require('dotenv').config({ path: `./.env.${process.env.NODE_ENV}` })
//I reccomend doing a console.log as well to make sure the names match*
console.log(`./.env.${process.env.NODE_ENV}`)