SORU
30 Kasım 2011, ÇARŞAMBA


Çevre belirli yapılandırmaları everyauth ile kullanılmak üzere ayarlama Node.js

Express.js everyauth.js node.js kullanıyorum. Modül dosyası içine tüm everyauth benim mantığım taşındım

var login = require('./lib/everyauthLogin');

bu yük içinde oAuth benim config gizli duş/: anahtar dosyası

var conf = require('./conf');
.....
twitter: {
    consumerKey: 'ABC', 
    consumerSecret: '123'
}

Bu kodları geri, farklı bir URL için farklı ortamlar için farklı hazırlama / üretim / geliştirme.

Qu.Nasıl çevre config bu tüm modülleri süzülmeye ayarlarım veya yol doğrudan modüle geçebilir miyim?

Env Set:

app.configure('development', function(){
  app.set('configPath', './confLocal');
});

app.configure('production', function(){
  app.set('configPath', './confProduction');
});

var conf = require(app.get('configPath'));

Geçer

app.configure('production', function(){
  var login = require('./lib/everyauthLogin', {configPath: './confProduction'});
});

? mantıklı umuyoruz

CEVAP
2 Aralık 2011, Cuma


Benim çözüm

uygulamayı kullanarak yükleyin

NODE_ENV=production node app.js

Sonra Kur 13* *bir işlevi yerine bir nesne olarak

module.exports = function(){
    switch(process.env.NODE_ENV){
        case 'development':
            return {dev setting};

        case 'production':
            return {prod settings};

        default:
            return {error or other settings};
    }
};

Başına Jans çözüm gerekirse dosya yükleme ve değeri geçişte edebileceğimiz yeni bir örneğini oluşturmak gibi, bu durumda process.env.NODE_ENV çok değil, küresel gereklidir.

var Config = require('./conf'),
    conf = new Config();

Sonra config nesne özelliklerini tam olarak daha önce olduğu gibi erişebiliriz

conf.twitter.consumerKey

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FRED

    FRED

    1 EKİM 2005
  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007
  • TouchePro

    TouchePro

    27 EYLÜL 2007