Yapmakta olduğunuza, özellikle API anahtarlarına ilişkin geleneksel alternatif, environment variables'u kullanmaktır. Bu işletim sistemi düzeyinde bir yapılandırma olanağıdır. Her işlem genellikle kendi ana işleminden devralınan kendi ortam değişkenleri kümesine sahiptir. Sözleşmeye göre, ortam değişkenleri büyük harfli isimlere sahiptir.
node.js'de ortam değişkenlerine process.env
aracılığıyla erişebilirsiniz. Böyle bir uygulamayı çalıştırmak Örneğin,:
$ MY_VARIABLE=test node app.js
Sen aracılığıyla MY_VARIABLE
ortam değişkeninin değerini erişebilirsiniz: Bu sıkıcı olabilir
process.env.MY_VARIABLE
Ancak geçen tutmak zorunda Programınızın her bir çağrısında ortam değişkeni. Bu nedenle, ortam değişkenlerinizi bir metin dosyasına depolamanıza olanak veren dotenv gibi paketler vardır. Daha spesifik
, sen .env
adlı bir dosya olacak ve içinde aşağıdakiler bulunabilir: senin app.js
başında
MY_VARIABLE=test
OTHER_VARIABLE=foo
, daha sonra yapın:
require('dotenv').config();
Bu ortam okur değişken değerleri .env
dosyasından.
Şimdi
console.log("MY_VARIABLE: " + process.env.MY_VARIABLE);
console.log("OTHER_VARIABLE: " + process.env.OTHER_VARIABLE);
açıkça çağrılması sırasında uygulamanıza ortam değişkenleri geçmesi gerekmez, sadece her zamanki gibi çalıştırabilirsiniz yani:
Başka ortam değişkenleri erişmek gibi Daha sonra erişebilirsiniz
$ node app.js
sen geçer not bir açık yapmak , bu sizin .env
dosyasında verdi ne olursa olsun değer geçersiz kılar:
$ MY_VARIABLE=bar node app.js
Artık MY_VARIABLE
ortam değişkeni "testing"
yerine "bar"
değerine sahip olacaktır. OTHER_VARIABLE
açıkça geçmediğinden, .env
dosyasında belirtilen "foo"
değerini korur.
Bir .js dosyasında kaydetme ve değerleri dışa aktarmadaki sorun nedir? O zaman onlara ihtiyacın olan yere ihtiyacın var. –
görünüşe göre, sorunuzu anlamıyorum. Eğer istemiyorsan, küresel olarak yerel olarak gerektirir. – Kuf