В отличие от Rails, кажется, не существует, чтобы быть принятым способом загрузки среды конкретных конфигурационных файлов в Node.js.Использование окружающей среды определенные файлы конфигурации в Node.js
В настоящее время я использую следующие:
config/development.js
и config/production.js
:
module.exports = {
'db': 'mongodb://127.0.0.1/example_dev',
'port': 3002
};
с последующим следующее в верхней части моего app.js
файла:
var config = require('./config/' + process.env.NODE_ENV + '.js');
Этот шаблон работает очень хорошо, однако это заставляет меня передавать этот файл конфигурации на которые нужны ему. Это становится своего рода неуклюжим, например:
var routes = require('./routes')(config);
.. и в routes/index.js
:
modules.export = function(config) {
this.index = function...
this.show = function...
};
Etc и т.д. Узор модуль просто, кажется, довольно неуклюжей, когда дело с чем-то, что должно быть глобальными, например, настройками конфигурации. Я мог бы потребовать файл конфигурации в верхней части каждого файла, который нуждается в ней, а также, но это не кажется идеальным либо.
Кто-нибудь есть лучшие практики для включения файла конфигурации и сделать его доступным во всем мире?
в конфигурационных файлах вы можете сделать 'конфиг = {...}' (без 'var'), и это будет глобальное ... – MiniGod
или' конфиг = требуется («./ конфигурации /» + процесс. env.NODE_ENV +».js');' (опять-таки, без 'var') – MiniGod