web-dev-qa-db-fra.com

Node.js - comment définir les variables d'environnement dans le code

Je suis assez nouveau sur node.js, et j'ai un programme que je dois définir une variable d'environnement afin d'exécuter (en utilisant la bibliothèque noble , ma commande bash est: Sudo NOBLE_HCI_DEVICE_ID=x node program.js, pour indiquer à mon code quel adaptateur Bluetooth - périphérique HCI - utiliser).

La raison derrière cela est que j'ai un certain nombre de modules, chacun ayant besoin de son propre adaptateur Bluetooth, et je souhaite spécifier dans mon code quel adaptateur chaque module doit utiliser.

J'ai trouvé beaucoup d'articles me disant comment consommer des variables d'environnement dans mon code et les définir via la ligne de commande (process.env.VARIABLE_NAME), mais rien ne me disant comment les définir à partir de node.js.

Est-il possible de définir les variables d'environnement dans mon code node.js?

20
Alex

Vous pouvez non seulement consommer des variables d'environnement dans le nœud avec process.env mais aussi les définir. Cela définira la variable dans votre processus de nœud actuel et tous les processus enfants qu'il appelle, mais pas le shell appelant lui-même.

// consume
var alreadySetEnvVarForDevice = process.env.NOBLE_HCI_DEVICE_ID

// set
process.env['NOBLE_HCI_DEVICE_ID'] = 1
39
M. Adam Kendall