Как подключать файл конфигурации к серверу node.js, с возможностью его модифицировать?
Есть сервер в котором файл конфигурации config.json подключается через require('../config/config.json'), и если я правильно понимаю то он подгружается 1 раз при старте. Но если в админ панеле на клиенте я добавил возможность менять конфиг то как применить эти изменения сразу же, без перезагрузки сервера ?
Полагаю что использовать (fs.readFileSync(__dirname + '/../config/config.json')) в каждой функции не лучший выбор.
Предполагаю что можно создать функцию для подгрузки файла, и запускать её при старте сервера и при изменении конфига, но подозреваю что это может создавать проблемы на старте (нужно ведь её запустить раньше всего что её использует) так как опыта не имею, лучше посоветуюсь.
Спасибо, коллеги =)
Можно использовать например HotConfig, маленький модуль который обеспечивает "горячую" загрузку конфига в реальном времени. Как раз то что вам, собственно нужно
Либо nodemon, который все же будет перезагружать приложение, либо каждый раз подгружать файл заново, либо создать какой-то таймер, который отслеживал бы состояние файла, и в случае изменения - подгружал файл в память ноды. Есть еще извращенный способ - загружать конфиг в переменные окружения, и посредством process.env вытаскивать его )