reactjs - process.env ortam değişkeni tanımsız
React/Typescript kodumda process.env aracılığıyla bir ortam değişkenine erişmeye çalışıyorum, ancak undefined dönüyor. Ancak NODE_ENV'ye erişebiliyorum.
console.log(process.env.CURRENT_URL) // prints "undefined" on browser
console.log(process.env.NODE_ENV) // prints "development" on browser
CURRENT_URL Windows ortam değişkeninde mevcuttur.
process.env.NODE_ENV neden erişilebilir ama diğer değişken neden değil?
Cevap #1
Bu, resmi create-react-app belgelerinden gelen cevabınızdır.
Özet:
Varsayılan olarak, sizin için NODE_ENV tanımlanmış olacak ve REACT_APP_ ile başlayan diğer ortam değişkenleri de tanımlanacaktır.
Yani tüm ortam değişkenlerinizin başına REACT_APP_ ekleyin, örneğin REACT_APP_CURRENT_URL.
Bu işe yaramalı!
Cevap #2
Bir react projesi üzerinde olduğunuz için, çevre değişkenlerinin önüne REACT_APP_ eklemeniz gerekecek.
O adımları takip edebilirsiniz:
- .env dosyanızda
REACT_APP_ile başlayan bir değişken sağlayın (örneğin:REACT_APP_MY_VAR). - Sonra, kodunuzda bunu process.env kullanarak alabilirsiniz (örneğin:
process.env.REACT_APP_MY_VAR).
Örnek :
.env dosyasındaki değişkenleri tanımlayın
REACT_APP_PASSWORD=1234
REACT_APP_LANGUAGE=english
çevresel değişkenleri nasıl kullanılır?
console.log(process.env.REACT_APP_LANGUAGE);
// output: english
Yeni bir ortam değişkeni eklediğinizde uygulamayı yeniden başlatmayı unutmayın.
