Добавить в корзинуПозвонить
Найти в Дзене
Logonok

Нюансы конфигурирования веб-приложения

Декларативный фреймворк Evado имеет модульную иерархическую структуру. В корне находится модуль приложения, который содержит дочерние модули, которые могут содержать другие модули и так далее. Каждый модуль конфигурируется отдельно. Файлы конфигурации расположены в папке config внутри модуля. Идентификатором конфигурации служит базовое имя файла. Типичный набор файлов: Конфигурация default содержит все основные настройки приложения (модуля). Development и production наследуют и переопределяют необходимые параметры из default. Для этого в каждом из них прописывается параметр - parent: 'default'. При старте приложения название загружаемой конфигурации берется из переменной окружения NODE_ENV или из аргумента запуска -
node console/start --config development. Структура Файл конфигурации является обычным JavaScript объектом и поддерживает определение свойств через подключение других частей конфигурации: module.exports = {
listeners: require('./default-listeners'),
}; Можно унаследова
Оглавление

Декларативный фреймворк Evado имеет модульную иерархическую структуру. В корне находится модуль приложения, который содержит дочерние модули, которые могут содержать другие модули и так далее. Каждый модуль конфигурируется отдельно.

Файлы конфигурации расположены в папке config внутри модуля. Идентификатором конфигурации служит базовое имя файла. Типичный набор файлов:

Конфигурация default содержит все основные настройки приложения (модуля). Development и production наследуют и переопределяют необходимые параметры из default. Для этого в каждом из них прописывается параметр - parent: 'default'.

При старте приложения название загружаемой конфигурации берется из переменной окружения NODE_ENV или из аргумента запуска -
node console/start --config development.

Структура

Файл конфигурации является обычным JavaScript объектом и поддерживает определение свойств через подключение других частей конфигурации:

module.exports = {
listeners: require('./default-listeners'),
};

Можно унаследовать и расширить другую конфигурацию целиком:

const defaults = require('evado/config/default-tasks');
module.exports = {
...defaults,
myTask: {...}
};

Пользовательские модули

Пользовательские модули могут наследовать и изменять функционал существующих модулей фреймворка. Например, в демо-приложении наследуются модули Application и Office.

Для того, чтобы использовать не только код, но и конфигурацию, контроллеры родителей, в конструктор дочернего модуля передается ссылка original на родительский класс. В этом случае конфигурации будут автоматически получены из родителя, а одноименные расширены данными из наследника.

Локальные параметры

Конфигурации приложения и модулей хранятся в репозитории вместе с другим кодом. Для того, чтобы исключить из них конфиденциальные данных (логины, пароли подключения к базе данным, сервисам и т. п.) используются локальные параметры.

Локальные параметры переопределяют данные конфигурации и не сохраняются в репозиторий. Их структура полностью соответствует обычной конфигурации. Например, основной файл development.js:

module.exports = {
parent: 'default',
port: 3000
};

A файл с локальными параметрами - development.local.js:

module.exports = {
components: {
'db': {
settings: {
'user': 'myLocalUser',
'password': 'myPassword'
}
}
}
};

Файлы автоматически связываются по базовому имени.

Здесь вы можете найти живой пример веб-приложения, а также ссылки на другие приложения, построенные на фреймворке Evado .