2017-03-06 20 views
1

Ich versuche, Knoten app.process.env vars mit package.json zu setzen und abzurufen, also habe ich durch Untersuchung des Problems ein Beispiel zum Setzen/Abrufen von process.env gefunden die ‚config‘ Abschnitt, so habe ich einen neuen Abschnitt Config wie folgt:Einstellen von process.env var in package.json

"config" : { "var1" : "test", "var2" : "test2", "var3" : "test3" }, 

Aber ich konnte keine der oben vars von server.js mit zum Beispiel Zugang:

console.log(process.env.npm_package_config_var1); 

Also frage ich mich, wie ich process.env var mit package.json setzen/abrufen kann? Dank

* Ich benutze npm 4.4.1, 7.4.0 Knoten und ich laufe der App (NPM run dev)

Antwort

5

Sie können nicht nur in Paket Umgebungsvariablen .json.

Sie können sie in Ihrem Skript Abschnitte mit ein:

"scripts": { 
    "start": "ENV_VAR=abc node app.js", 
}, 

oder:

"scripts": { 
    "start": "cross-env ENV_VAR=abc node app.js", 
}, 

den Quer env-Modul. Siehe:

Umgebungsvariablen sind etwas, das Ihre Programme zur Laufzeit zu bekommen, nicht etwas in einer Config gespeichert - es sei denn, Sie so etwas wie dotenv verwenden, siehe:

aber dies ist mit der .env Datei, nicht Paket .json.

1

Ich verstehe wirklich nicht, was wollen Sie tun.

Aber wenn Sie env Variablen abrufen wollen, müssen Sie Ihre dev Skript wie dies in Ihrem package.json definieren tun: NODE_ENV=dev node index.js

Dann wird Ihr env holen mit: process.env.NODE_ENV

Verwandte Themen