Для систематизации активных проектов, а также для быстрого старта новых в недрах компании был разработан шаблон-заготовка, содержащий много полезностей для эффективной работы:
Что проект может предложить искушенным битрикс-девелоперам:
"Безопасная" структура
Конфиги, гит-директория, вендорные файлы находятся аж на 2(!) уровня выше веб-директорий.
"Готовность" к многосайтовости.
Зачастую (особенно, когда гит инициализируют в корневой веб-директории) добавление второго сайта под версионный контроль становится непростой (и внезапной) задачей. В нашем случае эта проблема решена на архитектурном уровне. Проект изначально стартует в структуре, подразумаевающей наличие нескольких сайтов.
Композер "из коробки".
Помимо очевидной автозагрузки, и подключения сторонних библиотек общего назначения, также становится возможна установка Битрикс-модулей из Packagist и публичных/приватных репозиториев (благодаря пакету composer installers)
Данный пакет позволяет снизить количество копипасты файлов шаблонов при создании и наследовании компонентов, а также более явно разделить слои контроллера и отображения (Иными словами использовать Bitrix API в шаблоне становится намного сложнее).
Огромные возможности по работе с данными "из коробки" и простой механизм расширения.
Работа с клиентской частью в Битрикс, мягко говоря, немного отстает от современных реалий веб разработки. Поэтому управление фронтом решено было делегировать более подходящему инструменту.
Который как следует из названия является настройкой над Вебпаком.
Он позволяет относительно легко настроить работу с актуальным стеком технологий.
В нашем случае это:
6 Редакция Javascript (ES6)
VueJS для "сложного-богатого" фронтенда
SCSS и БЭМ для организации работы со стилями
Версионирование и деплой.
Чтобы релизить как можно чаще и быть уверенным, что все будет пернесено, собрано, установлено как надо, используется утилита для автоматизированного деплоя https://deployer.org/
При использовании системы контроля версий также крайне желательно придерживаться некоторых правил, чтобы не замусорить проект и быть уверенным в коде, что находится на "боевом окружении"
Kryachek Mikhail написал: Планируется ли добавить и пробросить Vuex store на все компоненты Vue?
Ну никто не мешает добавить хранилище и использовать его. JS код то всё равно не запихнуть в шаблон. Только 1 строчку в app.js и создать несколько папок (для хранилища, мутаций, действий и т.п.) В этом шаблоне vuex излишен.
Правильно ли я понимаю, что все vue-компоненты грузятся сразу без ленивой подгрузки? Т.е. на главной странице я получу js корзины и оформления заказа? Возможно, это стоило как-то разделить на бандлы. Иначе грузить несколько мегабайтов js просто зайдя на главную или перейдя из поиска на карточку товара нет никакого желания. С таким подходом пользователь до корзины то и не дойдёт.
Мне кажется нужен центральный полноценный стор, чтобы мы из любого инстанса всегда могли изменить состояния через this.$store. Конечно в идеале надо использовать dispatch
this.$store.dispatch('<code>', '<value>')
Правда, чтобы оно нормально работало, быстрее всего придется городить велосипед, как мы делали на одном из наших проектов.
Молодцы парни, но хорошо бы улучшить devDependencies, дополнив его cli и webpack-ом как минимум, да конечно у всех он есть глобально но важно знать под которую версию вы собрали пакет.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».