2013-03-21 22 views
25

Projemi sadece node server.js'dan Grunt kullanarak değiştiriyorum.NodeJS ortam değişkenleri Grunt

Uygulamamı doğrudan webstorm'dan çalıştırıyordum ve ortam değişkenleri benim için ayarlanmıştı.

Aynı şeyi Grunt'ta nasıl yapabilirim?

ben WebStorm (pencerelerden) den hırıltı çalıştırmak için ya da ihtiyaç veya hırıltı (açıkça)

Heroku zaten benim env vars ayar ilgilenir çünkü dağıtırken bu bir sorun değildir çalıştırırken kurmak env vars.

cevap

47

hırıltı-env eklenti kullanmak: bu yüzden eğer

grunt.registerTask('default', ['env', 'another-task']); 

: muhtemelen bazı varsayılan fazla görev tanımlamak olacaktır gruntfile içinde

grunt.initConfig({ 
    env : { 
    options : { 
     //Shared Options Hash 
    }, 
    dev : { 
     NODE_ENV : 'development', 
     DEST  : 'temp' 
    } 
    }, 
    'another-task': {} 
}); 

: https://npmjs.org/package/grunt-env

ve set config ilk önce 'grunt default' komutunu çalıştırın, env-vars ayarlandıktan sonra 'başka bir görev' çalıştırıldı

Eğer grunt.option kullanabilirsiniz komut satırı seçeneği aracılığıyla mevcut ortamı belirtmek istiyorsanız: Eğer --environment=production üretimi ile hırıltı görevi ararsanız kurulacak bu örnekte

grunt.initConfig({ 
    env : { 
    options : { 
     //Shared Options Hash 
    }, 
    dev : { 
     NODE_ENV : grunt.option('environment') || 'development', 
     DEST  : 'temp' 
    } 
    }, 

, aksi gelişim

kurulacaktır
+0

Eğer js uygulamanızda (Ember gibi) env değişkenine erişmeniz gerekiyorsa, bu modeli kullanabilirsiniz https://stackoverflow.com/questions/20742882/how-set-get-environment-specific-variable-in -a-yeoman-ember-app/20974746 # 20974746 – borisrorsvort

+1

Çok fazla kestirilmiş ve doğru bir şekilde reddetmek için çok geç fark ettim. Windows'da çalışmaz (cmd veya ps). – rainabba

+0

kütüphane, process.env dosyasını yapılandırma verilerinizle genişletir. Windows'ta node.js ile aşina değilim, ama neden çalışmadığı konusunda bir neden göremiyorum ... – hereandnow78