Для конфигурирования данного приложения используется модуль nconf
Файлы конфигурации находятся в папке configs и распределены по 4 папкам:
- common - файлы общие для всех видов окружений
- dev - специальные настройки для
dev
окружения - testing - специальные настройки для
testing
окружения - production - специальные настройки для
production
окружения
При этом параметры настроек для dev
, testing
или production
окружений имеют приоритет над
соответствующими параметрами общих настроек common
{
"languages": ["en", "ru"],
"defaultLanguage": "ru",
"port": 8080,
"title": {
"en": "Your application title",
"ru": "Название приложения"
},
"update": {
"enable": true,
"cron": "0 */1 * * * *"
},
"logger": {
"level": "debug",
"stdout": "logs/output.log",
"stderr": "logs/errors.log"
},
"statics": {
"www": "/www",
"pathname": "/src"
},
"yandexApi": {
"login": "",
"password": ""
},
"model": {
"dir": "backups"
},
"github": {
"libraries": {
"type": "public",
"user": "bem",
"repo": "bem-info-libs",
"ref": "master",
"pattern": "https://raw.githubusercontent.com/%s/%s/%s%s"
},
"public": {
"host": "api.github.com",
"auth": ""
},
"people": "https://github.com/bem/bem-site-engine/blob/dev/docs/people/people.json"
},
"hosts": {
"en": "",
"ru": ""
}
}
languages
- массив со строками, обозначающими локализации, присутствующие на сайте.defaultLanguage
- язык сайта по умолчанию.port
- порт или путь к socket - файлу на котором будет запущен сервер.title
- объект с ключами совпадающими с именами локалей для сайта и значениями. которые будут представлены в качестве title страниц сайта.update
- объект с настройками модуля проверки обновления данных. Необходим для запуска сайта в тестовом или боевом окружениях.logger
- объект с настроками путей для хранения файлов логов и уровня логгирования сайта. Доступные значения уровня логгированияverbose
,debug
,info
,warn
,error
.statics
- объект в котором указывается путь к статическим файлам, необходимым при работе сайта.yandexApi
- объект с полямиlogin
иpassword
. Необходим для доступа к Yandex Disk, в случае когда сайт запускается в тестовом или боевом окружениях.model
- объект с полями, обозначающими названия файлов в которые сохраняются модель сайта, данные поиска и.т.д.github:libraries
- объект с полями, указывающими на ветку репозитория в котором хранятся собранные данные для библиотек блоков.github:public
- объект с параметрами, необходимыми для работы github API по которому загружается документация в процессе сборки данных для сайта.github:people
- строка url браузере на страницу github с json файлом в котором хранится информация об авторах и переводчиках, напримерhttps://github.com/bem/bem-site-engine/blob/dev/docs/people/people.json
hosts
- объект с ключами совпадающими с именами локалей для сайта и значениями в качестве которых должны быть представлены названия хостов сайта для соответствующих локалей. Данная настройка необходима для автоматического построения файлаsitemap.xml
в процесе сборки данных для сайта.
Переключение конфигураций осуществляется путем создания симлинка current
на одну из папок соответсвующих конфигурации определенного окружения configs/dev
, configs/testing
, configs/production