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.

İlgili makaleler