Еще один интересный прием — диспетчеризация по имени файла.
В некоторых системах принято иметь не один файл с разными ключами для конфигурации, а разные файлы, относящиеся к разным средам. Например:
configs/
database.development.json
database.production.json
database.test.json
Где-то в исходниках должен быть код, который выбирает какой файл загружать. Ниже код использует диспетчеризацию по ключу:
import fs from 'fs';
const configFileNamesByEnv = {
development: 'database.development.json',
production: 'database.production.json',
test: 'database.test.json',
};
const filename = configFileNamesByEnv[env];
const raw = fs.readFileSync(filename);
const config = JSON.parse(raw);
Нетрудно заметить, что имея название среды запуска, можно составить подходящее имя файла. Так и сделаем:
const filename = `database.${env}.json`;
const raw = fs.readFileSync(filename);
const config = JSON.parse(raw);
Код стал намного короче и больше не требует изменения при расширении.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.