Разработка Vue.js-приложения для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка Vue.js-приложения для 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    989

Разработка Vue.js-приложения для 1С-Битрикс

Вопрос «как интегрировать Vue в Битрикс» возникает, когда стандартные компоненты на jQuery и серверном рендеринге перестают справляться с интерактивностью. Битрикс не предоставляет готового механизма для Vue, но платформа достаточно гибкая, чтобы Vue-приложение работало органично — через REST API или кастомные AJAX-обработчики.

Архитектурные варианты

Виджет на странице — Vue-приложение монтируется в конкретный DOM-элемент внутри Битрикс-страницы. Остальной сайт работает как обычно. Подходит для изолированных интерактивных блоков: калькуляторы, конфигураторы, формы с логикой.

SPA с Битрикс как бэкендом — Vue-приложение занимает всю страницу, данные получает через REST API или /bitrix/services/main/ajax.php. Шаблон Битрикс рендерит минимальный HTML с точкой монтирования и передаёт начальные данные через window.__INITIAL_STATE__.

Гибридный вариант — Bitrix рендерит серверную часть, Vue управляет интерактивными блоками. Актуален при необходимости SEO-индексации контента без SSR.

Передача данных из Битрикс в Vue

Сервер передаёт начальные данные в шаблоне компонента:

// В шаблоне Битрикс (.php)
$APPLICATION->addHeadScript(
    '<script>window.__BITRIX_STATE__ = ' . json_encode([
        'userId' => $USER->GetID(),
        'catalogId' => $arResult['IBLOCK_ID'],
        'currency' => CCurrency::GetByID('RUB'),
    ]) . ';</script>'
);

Во Vue-приложении:

const state = window.__BITRIX_STATE__ || {}

Это избегает лишнего AJAX-запроса при первой загрузке.

Сборка и подключение

Vite или Webpack — под Битрикс удобнее Vite из-за скорости и простоты конфигурации:

// vite.config.js
export default {
  build: {
    outDir: 'local/templates/main/vue-dist',
    rollupOptions: {
      input: { app: 'src/main.js' }
    }
  }
}

Скомпилированный бандл подключается в шаблоне Битрикс через $APPLICATION->AddHeadScript() или Asset::getInstance()->addJs(). Не используйте <script> напрямую в шаблоне — Битрикс может перемешать порядок подключения скриптов.

REST API Битрикс для Vue

Битрикс REST API (модуль rest) — стандартный путь для запросов из Vue. Для интернет-магазина ключевые методы:

  • catalog.product.list — список товаров
  • sale.order.add — создание заказа
  • crm.contact.add — добавление контакта в CRM

Для нестандартных операций — кастомные методы через \Bitrix\Rest\RestManager::addMethod() или AJAX-обработчики на /bitrix/services/main/ajax.php с \Bitrix\Main\Engine\Controller.

Случай из практики

Дилерский портал: каталог запчастей с фильтрацией по 15 параметрам. Стандартный компонент catalog.section с AJAX-фильтром тормозил при 50 000+ позиций — каждое изменение фильтра вызывало полный серверный рендеринг. Решение: замена на Vue-приложение с debounced-запросами к кастомному REST-методу, возвращающему JSON. Серверный рендеринг остался только для первой загрузки с SEO-контентом. Время реакции фильтра сократилось с 2–3 секунд до 300–500 мс.

Управление состоянием

Для простых виджетов — reactive() Vue 3 или ref(). Для SPA с авторизацией, корзиной, личным кабинетом — Pinia (официальная замена Vuex для Vue 3). Vuex актуален только если проект уже на Vue 2.

Сроки выполнения

Тип приложения Срок разработки
Виджет (калькулятор, форма) от 1 до 3 рабочих дней
Каталог с фильтрацией от 5 до 10 рабочих дней
SPA (каталог + корзина + ЛК) от 15 до 30 рабочих дней

Сроки зависят от наличия готового REST API и сложности бизнес-логики.