ExpressJs: настройка переменных в разных средах - PullRequest
1 голос
/ 24 января 2012

Не могу ли я определить переменную, которая будет использоваться в разных envs при определении env?

app.configure 'development', () ->
 app.use express.errorHandler({dumpExceptions: true, showStack: true})
 mongoose.connect 'mongodb://xxx:xxx-db2011@sun.memberd.mongohq.com:10012/xxxx'
 test = "ola23"

app.configure 'production', () ->
 app.use express.errorHandler()
 mongoose.connect 'mongodb://xxx:xxx-db2011@sun.memberd.mongohq.com:10012/xxxx'
 test = "ola"

Я могу определить "mongoose.connect", почему я не могу определить test?

1 Ответ

1 голос
/ 25 января 2012

Этот код устанавливает значение локальной переменной для этой функции конфигурации.Я уверен, что это работает.Но как вам нужно использовать эту переменную test?

То, как вы это сделали, просто исчезнет, ​​как только эта функция завершится, вы ее никуда не отправляете и не сохраняете.Строка mongoose.connect что-то делает, она передает строку в функцию, которая использует эту строку, чтобы сделать что-то удивительное.test = "ola" устанавливает только локальную переменную.

Поэтому, не зная, как вы хотите использовать test, трудно посоветовать больше.Но вы, вероятно, хотите вместо этого:

app.set 'test', 'ola'

Который затем вы можете получить "ola" позже с помощью:

app.get 'test'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...