2015-04-10 9 views
5

Ich bin relativ neu zu node.js, und habe ein Programm, das ich eine Umgebungsvariable setzen muss (mit der noble Bibliothek, mein Bash-Befehl ist: sudo NOBLE_HCI_DEVICE_ID=x node program.js, um meinem Code zu sagen, welcher Bluetooth Adapter - HCI Gerät - zu verwenden ist.Node.js - wie man Umgebungsvariablen im Code setzt

Der Grund dafür ist, dass ich eine Reihe von Modulen habe, die jeweils einen eigenen Bluetooth-Adapter benötigen, und ich möchte in meinem Code angeben, welchen Adapter jedes Modul verwenden soll.

Ich habe viele Artikel gefunden, die mir sagen, wie man Umgebungsvariablen in meinem Code konsumiert und sie über die Befehlszeile (process.env.VARIABLE_NAME) einstellt, aber nichts sagt mir, wie man sie innerhalb von node.js setzt.

Ist es möglich, die Umgebungsvariablen in meinem node.js Code festzulegen?

Dank

Antwort

15

Sie können nicht nur Umgebungsvariablen im Knoten mit process.env konsumieren, sondern diese auch setzen. Dadurch wird die Variable in Ihrem aktuellen Knotenprozess festgelegt, und alle untergeordneten Prozesse verarbeiten sie, aber nicht die aufrufende Shell selbst.

// consume 
var alreadySetEnvVarForDevice = process.env.NOBLE_HCI_DEVICE_ID 

// set 
process.env['NOBLE_HCI_DEVICE_ID'] = 1 
+0

ehrfürchtig. Das ist ziemlich offensichtlich, um ehrlich zu sein. Vielen Dank! – Alex

-2

run Befehl wie

in Eingabeaufforderung folgenden
export FOREVER_ROOT=/var/log/ 

Hier stellen export eine Umgebungsvariable

OR

Execute "/ etc/environment" in jeder Schale wo die Variablen aktualisiert werden sollen:

$/etc/environment

-2

Wenn Sie Express verwenden, können Sie die Variablen wie folgt festgelegt:

var express = require('express'); 
var app = express(); 

// set the environment mode, default is process.env.NODE_ENV 
app.set('env','development'); 

app.get('env'); 
// => 'development' 
Verwandte Themen