NODE_ENVekspres web sunucusu çerçevesi tarafından popüler hale getirilen bir ortam değişkenidir . Bir düğüm uygulaması çalıştırıldığında, ortam değişkeninin değerini kontrol edebilir ve değere bağlı olarak farklı şeyler yapabilir. belirli bir ortamın bir üretim veya geliştirme ortamı olup olmadığını belirtmek için özel olarak kullanılır (sözleşmeyle) . Yaygın bir kullanım örneği, bir geliştirme ortamında çalışıyorsa ek hata ayıklama veya günlük kodu çalıştırmadır.NODE_ENV
NODE_ENV'ye erişiliyor
Ortam değişkenine erişmek için aşağıdaki kodu kullanarak kendi denetimlerinizi ve mantığınızı gerçekleştirebilirsiniz:
var environment = process.env.NODE_ENV
Veya alternatif olarak express 'ifadesini kullanarak app.get('env')( not: bu varsayılan olarak "development")
NODE_ENVÇevreniz için açıkça ayarlamadıysanız , bunun olacağını unutmayın undefined.
NODE_ENV ayarı
Ortam değişkeninin gerçekte nasıl ayarlanacağı işletim sisteminden işletim sistemine değişir ve ayrıca kullanıcı kurulumunuza bağlıdır.
Ortam değişkenini bir defalık olarak ayarlamak istiyorsanız, bunu komut satırından yapabilirsiniz:
- linux ve mac :
export NODE_ENV=production
- Windows :
$env:NODE_ENV = 'production'
Uzun vadede, yeniden başlatmanız durumunda ayarlanmaması için bunu devam ettirmelisiniz - bunu yapmak için tüm olası yöntemleri listelemek yerine, bunu kendiniz nasıl yapacağınızı aramanıza izin vereceğim!
Kongre için kullanması gereken yalnızca iki değer vardır dictacted etti NODE_ENV, ya productionya development, tümü küçük harf. Daha fazla değer eklemenizi engelleyen bir şey yok, ancak kullandığım node_modules'ün çoğunda bu tür kodların çoğunu gördüğüm için muhtemelen iyi bir fikir değil:
var development = process.env.NODE_ENV !== 'production';
Bir olduğunu Not gerçekten kötü setine denemek için bir fikir NODE_ENVgelen içinde bir düğüm uygulamanın kendisinden bunu olacaktır yaparsak - sadece set alındığı sürece geçerlidir , işler muhtemelen iş onları bekliyoruz gibi pek. Yapma - pişman olacaksın.
app.configure('development', ...)yalnızca geliştirme veya üretim ortamları için belirli ayarları yapmak için ne kullanabileceğinizi veya "üretim" olduğunu varsayalım . Bkz. Expressjs.com/api.html#app.configure