Привет! Хочу рассказать о полезной штуке, которую мы написали в Яндекс.Директе.
direct-dev-server - это веб-сервер для заданной ENB-ноды с автоматической пересборкой бандлов при изменении исходных файлов. Сервер имеет кэш и собирает бандлы только если исходные файлы изменились (в отличие от enb-server, который собирает при каждом http-запросе).
Его удобно использовать тогда, когда нужно часто менять код и пересобирать бандлы (например, во время отладки кода блоков). За счет того, что сборка запускается сразу же при изменении файлов и за счет использования кэша готовый для отладки набор бандлов формируется намного быстрее, чем, например, при использовании ENB в режиме сервера.
Как использовать
- Устанавливаем
npm i direct-dev-server
- Запускаем
node node_modules/direct-dev-server -b <название_бандла>
- В консоль выводится ссылка, открываем ее в браузере
Конфигурационный файл
Конфигурационный файл должен лежать в корневой директории и называться .dev-server.js
.
Пример:
module.exports = {
bundles: 'bundles', // папка с бандлами
levels: [ // список уровней переопределения
'common.blocks' // (в них будут отслеживаться изменения файлов)
'desktop.blocks'
],
defaultTarget: '?.test.html', // таргет начальной страницы (будет открыта в браузере при старте)
targets: { // зависимости таргетов от БЭМ-технологий
'?.js': ['js'],
'?.test.js': ['test.js'],
'?.css': ['css']
}
};