2012-01-24 7 views
1

Impossible de définir une variable à utiliser dans différents environnements lorsque je définis l'environnement env?ExpressJs: Variables de configuration dans différents environnements

app.configure 'development',() -> 
app.use express.errorHandler({dumpExceptions: true, showStack: true}) 
mongoose.connect 'mongodb://xxx:[email protected]:10012/xxxx' 
test = "ola23" 

app.configure 'production',() -> 
app.use express.errorHandler() 
mongoose.connect 'mongodb://xxx:[email protected]:10012/xxxx' 
test = "ola" 

Je peux définir la "mongoose.connect", pourquoi je ne peux pas définir test?

Répondre

1

Ce code définit une variable locale à cette fonction de configuration sur une valeur. Je suis sûr que cela fonctionne. Mais comment devez-vous utiliser cette variable test?

La façon dont vous l'avez fait ici, il va simplement disparaître dès que cette fonction se termine, vous ne l'envoyez ou ne l'enregistrez nulle part. La ligne mongoose.connect, fait quelque chose, il passe dans une chaîne à une fonction qui utilise cette chaîne pour faire quelque chose de génial. test = "ola" définit uniquement une variable locale. Donc, sans savoir comment vous voulez utiliser test, il est difficile d'en savoir plus. Mais vous voulez sans doute ceci:

app.set 'test', 'ola' 

que vous pouvez ensuite retrive "ola" plus tard avec:

app.get 'test' 
+1

fixer le récupérer de l'application 'test' en utilisant 'app.get « test'' pas '. mettre 'test' –

Questions connexes