readme.md

Описание

Сборщик работает по двум принципам:

  1. Множетсвенный entrypoin в компонентах, автоматически проходиться по текущей папке local в поисках папок src. Все найденые папки в которых есть входные файлы script и style собирает и результат сборки кладет выше на 1 уровень, local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/src/style.scss будет помещен в local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/style.scss. Таким образом мы получаем на выходе два файла которые автоматически подключаются в шаблонах компонентов битрикс, при этом мы используем всю мощь современного стека для разработки
  2. Множетсвенный entrypoin в обших папках проекта, берем все source и билдем на этот же уровень только в папку asset
Назначение Исходный файл Собранный файл
Стили глобальные local/source/css/style.scss local/assets/css/style.css
Скрипты глобальные local/source/js/script.js local/assets/js/script.js
Стили глобальных компонентов local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/src/style.scss local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/style.css
Скрипты глобальных компонентов local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/src/script.js local/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/script.js
Стили шаблона local/templates/[Каталог темы]/source/css/style.scss local/templates/[Каталог темы]/assets/css/style.css
Скрипты шаблона local/templates/[Каталог темы]/source/js/script.js local/templates/[Каталог темы]/assets/js/script.js
Стили компонента шаблона local/templates/[Каталог темы]/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/src/style.scss local/templates/[Каталог темы]/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/style.css
Скрипты компонента шаблона local/templates/[Каталог темы]/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/src/script.js local/templates/[Каталог темы]/components/[Namespace]/[Component Name]/templates/[Название шаблона компонента]/script.js

Установка

Содержимое репозитория нужно разместить в корневой папке проекта, выполнить команду npm install для установки всех зависимостей

В шаблоне сайта необходимо подключить 2 файла header.php:

use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs('/runtime/script.js');
Asset::getInstance()->addJs('/vendors/script.js');

Начало работы

  1. В нужной папке шаблона сайта или компонента создать дериктори src а в local дериктори source
  2. Создать два глваный файла (если требутся) script.js и style(.css, .scss, .less, .styl)
  3. Запустить сборку из консоли, командой webpack

Общие файлы проекта

Сборка поддерживает алиас @ для папки /local/source/img/. Там рекомендуется храниться статику, для файлов стилей испольуется подключение такого вида background: url("~@/img/summer.png") для JS import @js/awesome.js

В сборке присутсвует file-loader который обрабатывает статику. Все файлы он положит в папку /local/asset/img/ и добавит hash в имя файла

Конвейеры
0 успешных
0 с ошибкой