Yanıtlar:
process.env.ENV_VARIABLE
Erişmek ENV_VARIABLE
istediğiniz değişkenin adı nerede .
process.env.FOO = "foo";
İşler.
process.env
güvenlik nedeniyle sterilize edilmiştir. Yalnızca ile başlayan değişkenler REACT_ENV_
kullanılabilir. Bakınız: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Node.js'yi kullanırken , ortam değişkenlerini process.env
nesneden anahtarla alabilirsiniz :
Örneğin
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
İşte node.js'de ortam değişkenlerini ayarlamayı açıklayan cevap
process.env
yerleşik olarak bulunur.
Örneğin, Node.js programınızda oluşturulan bir dize anahtarını var v = 'HOME'
kullanmak istiyorsanız, kullanabilirsiniz
process.env[v]
.
Aksi takdirde, process.env.VARNAME
programınızda kodlanmış olmalıdır.
process.env['HOME']
?
Node.JS'de ortam değişkenlerini almak için process.env.VARIABLE_NAME dosyasını kullanabilirsiniz , ancak process.env dosyasına bir özellik atamanın değeri dolaylı olarak bir dizeye dönüştüreceğini unutmayın.
.Env dosyanız SHOULD_SEND = false veya SHOULD_SEND = 0 gibi bir değişken tanımlasa bile , değerler dizelere dönüştürülür ( sırasıyla “false” ve “0” ) ve boole olarak yorumlanmaz.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Bunun yerine, açık kontroller yapmalısınız. Ortama bağlı olarak bulduğum uzun bir yol.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Proje başına ortam değişkenlerinizi yönetmek için env paketini kullanabilirsiniz :
.env
Proje dizini altında bir dosya oluşturun ve tüm değişkenlerinizi oraya koyun.require('dotenv').config();
Bitti. Artık ortam değişkenlerinize ile erişebilirsiniz process.env.ENV_NAME
.
env
kütüphaneden yönetin ve yükleyin .
envdir
yardımcı programı kullanarak node.js'ye özgü olmayan bir şekilde de yapabilirsiniz .
Bunları neden .bash_profile
dosyadaki Kullanıcılar dizininde kullanmıyorsunuz , bu nedenle değişkenlerinizle herhangi bir dosyayı üretime zorlamanız gerekmez?
env
, düğüm işlemi çalışırken başka bir kabuk penceresinde veya düğüm işlemi bittikten sonra aynı kabukta ateş ederseniz görünmez .