@htmlacademy/courses-config v1.1.18
Дополняемая конфигурация проекта для модулей courses-*
В репозиторий вынесено содержимое конфигурации
из courses-core.
Основная цель — использовать конфигурацию с дополнениями, взятыми из произвольного файла так, чтобы облегчить доступ к конфигурации из любого места в скрипте.
Для передачи части конфигурации, перекрывающей основную, можно использовать один из способов:
- Для скриптов, запускаемых из командной строки достаточно передать ключ
--config-path=path/to/config.js. При этом симпортированный из файла конфиг будет объединён с конфигурацией по умолчанию. - Если необходимо использовать конфигурацию из кода, нужно получить функцию по
require('@htmlacademy/courses-config/config'). В полученную функцию передать в качестве единственного аргумента часть конфигурации, которую нужно перекрыть.
Что для чего нужно
expressserve— как скрипты взаимодействуют с серверомprotocol,host,port— описывают url, по которому доступен девсерверroutes— пути к страницам на девсервереcourses— путь к списку курсовcourse— путь к списку заданий курса. Параметр:courseIdсоответствует айдишнику курсаtask— путь к заданию. Параметр:courseIdсоответствует айдишнику курса,:taskId— айдишнику заданияcheck— используется, чтобы указать путь, на который отправляются проверки. Если ключ не указан, проверки отправляются на путь, указанный вtask. Параметры те же, что и вtask
taskLoadertypes— каталог с файлами-описаниями набора исходных данных для заданийcourses— каталог с содержимым курсов
serve— отвечает за отображение курсовlang(en|ru) — был добавлен для использования в переводе интерфейса на английский язык. Пока не используетсяtemplates,metadata— содержат информацию и шаблоны для отображения страниц девсервераassets— каталог, в котором лежат стили, шрифты и картинкиcacheTemplates— этот флаг по умолчанию равенtrue. Если необходимо редактировать шаблоны и перерисовывать страницы, не перезапуская девсервер, этот флаг нужно сбросить вfalse
bin— раньше содержал пути кphantomjsиcompare, теперь содержит только один путь:compare— путь к утилитеcompare. По умолчанию содержит/usr/bin/compare
checks— содержал информацию о скриптах, исполняемых во время серверных проверокbaseDir— базовый каталог, в который будут складываться результаты проверокbaseUrl— базовый путь по которому будут получены результаты проверок
timeout— время в миллисекундах на различные задержкиtimerDefault— время по умолчанию для интерфейсного таймераupdateCode— время, через которое перерисуется previewautosaveCode— время, через которое автосохранится кодvelocity— время перехода между предыдущим и новым состоянием вкладки «разница» в html-css испытанииpoll— время опроса сервера по умолчаниюtask— время, за которое должно посчитаться заданиеchallenge— время, за которое должно посчитаться испытание
scripts— содержит настройки для использования экспериментальных фич вcourses-scriptsstatistics— собирать и отправлять статистику использования заданий
FAQ
В модуле используется es6. Как тогда получается использовать его в courses-scripts?
Webpack-овский loader вычисляет конфигурацию, как javascript-объект и вставляет его как JSON.stringify(). Таким образом courses-scripts видит только данные и никакого es6.
Как использовать конфигурацию из других модулей?
const customConfig = /** Загружаем из файла в другом модуле */
const getConfig = require(`@htmlacademy/courses-config/config`);
const config = getConfig(customConfig);6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago