2016-06-18 1 views
0

У меня есть модуль настроек в приложении узла, который изменяет настройки на основе среды.Создать другую ошибку окружения в узле?

var settings, 
    environment = process.env.NODE_ENV; 

if(environment === 'developments'){ 
    settings = { 
     facebookCredentials: { 
      clientID: FACEBOOK_APP_ID, 
      clientSecret: FACEBOOK_APP_SECRET, 
      callbackURL: "http://www.example.com/auth/facebook/callback" 
     } 
    }; 
}else if(environment === 'production'){ 
    //here goes live settings. 
}else{ 
    //this is where the error goes. 
} 
exports.settings = settings; 

Если имя окружающего что-то другое, я теперь получаю ошибку о параметре является неопределенным, вместо этого, я хочу войти какое-то ошибка о недопустимом имени NODE_ENV. Как я могу это сделать? Я новичок в узле, есть ли лучший дизайн для обработки настроек, специфичных для среды?

+0

Вы можете установить одну среду по умолчанию - 'if (environment == 'production') {...} else {/ * development * /}' или reverse. –

ответ

0

Есть несколько подходов здесь:

  1. Использование console.error для входа вашей ошибки
  2. Бросьте фактическую ошибку в вашем else блоке: throw new Error('Invalid Environment Specified')

Я лично предпочел бы вариант 2, т.к. неверная конфигурация - это то, что вы хотите быстро и явно выполнить.

Кроме того, существует множество модулей, которые помогают управлять конфигурацией nconf, являющейся популярной.

Смежные вопросы