VueTools

Базовый пакет, предоставляющий Vue 3 стек для компонентов MODX 3.x через ES Modul
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Николай Савин
Пакетов
20
Закачек
32 739
Автор дополнения
Пакетов
20
Закачек
32 739
Версия 1.1.2-pl
Дата выпуска 15.06.2026
Загрузки 342
Просмотры 1 168
Внимание, этот компонент требует PHP 8.1 или выше!
Внимание, этот компонент требует MODX 3 или выше.
VueTools решает проблему дублирования библиотек при использовании Vue 3 в нескольких компонентах MODX. Вместо того чтобы каждый компонент включал свою копию Vue, Pinia и PrimeVue, все они используют общие библиотеки из VueTools.

Преимущества

  • Единая версия библиотек — все компоненты используют одинаковые версии Vue, Pinia, PrimeVue
  • Меньший размер загрузки — библиотеки загружаются один раз и кэшируются браузером
  • Изолированные стили — PrimeVue стили не конфликтуют с ExtJS админки MODX
  • Готовые composables — useLexicon, useApi, useModx, usePermission для работы с MODX

Состав пакета
  • Vue 3 | 3.5.x | Реактивный фреймворк
  • Pinia | 3.0.x | State management
  • PrimeVue | 4.3.x | UI компоненты
  • PrimeIcons | 7.0.x | Иконки

Архитектура
VueTools использует Import Map — стандартную технологию браузера для разрешения ES Module импортов.

Плагин VueTools срабатывает на событие OnManagerPageInit и регистрирует Import Map в head админки:

{
 "imports": {
        "vue": "/assets/components/vuetools/vendor/vue.min.js",
        "pinia": "/assets/components/vuetools/vendor/pinia.min.js",
        "primevue": "/assets/components/vuetools/vendor/primevue.min.js",
        "@vuetools/useApi": "/assets/components/vuetools/composables/useApi.min.js",
        "@vuetools/useLexicon": "/assets/components/vuetools/composables/useLexicon.min.js",
        "@vuetools/useModx": "/assets/components/vuetools/composables/useModx.min.js",
        "@vuetools/usePermission": "/assets/components/vuetools/composables/usePermission.min.js",
        "@vuetools/": "/assets/components/vuetools/composables/"
    }
}

Как это работает

  1. Плагин VueTools (OnManagerPageInit)
  2. Регистрирует Import Map в head админки (до ES modules)
  3. Подключает CSS стили PrimeVue (изолированы .vueApp)
  4. Ваш компонент загружает ES modules
  5. Браузер разрешает импорты через Import Map

Когда Vue компонент выполняет import { ref } from 'vue', браузер находит ключ `vue` в Import Map и загружает файл по указанному пути.

Пакет является зависимостью для MiniShop3, mSearch и других компонентов, которые используют единый визуальный стиль админки

[1.1.2-pl] - 2026-06-15

Added

  • VueTools\Service class so MODX resolves the vuetools service via the conventional model/vuetools/ path (#6)

Changed

  • Migrated PrimeVue theme package @primevue/themes to the maintained @primeuix/themes (#9)
  • Updated bundled stack: Vue 3.5.32, Pinia 3.0.4, PrimeVue 4.5.5; primelocale ^2.3.1 (#9)
  • Synced hardcoded $versions in VueCore with the shipped bundles (#13)
  • Bumped postcss to 8.5.15 — includes security fixes (#12)

Последние обсуждения в сообществе MODX.pro