0
votes

processus.env n'affiche pas les variables extérieures app.js

app.js xxx

@pg = db / raccord / index.js xxx < / Pré>

Si vous avez besoin d'informations supplémentaires, PLS Passez-moi savoir. Faites attention à mes commentaires à l'intérieur des extraits de code, il peut être utile


0 commentaires

3 Réponses :


1
votes

Vous devez appeler dotenv code> dans chaque fichier que vous appelez une variable .env code>. xxx pré>

Si vous souhaitez appeler dotenv code> Dans tous vos fichiers d'application sans l'appeler à chaque fois, vous devez le demander lorsque vous exécutez votre application: P>

node -r dotenv/config app.js


5 commentaires

Quand j'importe 'dotenv', il est toujours indéfini et j'exécute mon code en utilisant node_modules / Babel-Watch / Babel-Watch.js src / app.js


Ou vous voulez dire importer et alors faites comme dotenv.config ()?


Oui, c'est ce que je voulais dire. Désolé, j'ai mis à jour ma réponse.


C'est une approche étrange à mon avis, mais merci)


Cette réponse est incorrecte. Vous n'avez besoin que d'appeler dotenv.config () une fois si vous le mettez correctement correctement. L'architecture correcte pour une application nœud.js est de séparer la logique Server.TS et App.TS en deux fichiers différents. Dotenv doit être utilisé dans le fichier App.TS, et il fonctionnera dans tous les autres fichiers de votre application sans que ce soit à nouveau.



0
votes

Si vous ne voulez pas utiliser de packages externes, vous pouvez simplement exécuter votre script comme celui-ci :) Je préfère cette méthode.

"start": "sh -ac '. ./.env; node index.js'"


2 commentaires

Bien que cela puisse fonctionner pour de simples fichiers .env, il ne contient pas dotenv-expand .


dotenv-expand est inutile de toute façon. Si les variables d'environnement sont exportées avec Exporter dans l'environnement qui invoque votre script, ils seraient disponibles là-bas.



0
votes

Afin d'éviter d'écrire xxx pré>

dans chaque fichier, vous pouvez simplement ajouter cette ligne de code dans votre app.js code> p>

dotenv.config({ path: path.resolve(__dirname, "path/to/.env") });


0 commentaires