modPrimeVueExtra - заготовка для разработки с Vue
Решил перейти на реактивные UI фреймворки и сделал заготовку для более удобной разработки с ними, с MODX и с gtsAPI — компонент API для MODX
У нас на MODX много функционала и сразу перейти на какой-то JS фреймворк нельзя. Как и задумывалось заготовка реализует какой-то смешанный режим разработки между стандартным для Vue путем и путем компонентов MODX.
В заготовке сделан GRUD таблицы базы данных MODX. На основе PrimeVue

В компоненте gtsAPI есть сниппет mixedVue и с помощью него можно вывести блок с компонентом на основе modPrimeVueExtra с любом месте сайта.
Быстрый старт
Необходимо установленая NodeJs и VSCode.
Заготовка на гитхабе https://github.com/touol/modPrimeVueExtra
Клонирум ее к себе в папку домен_сайта_разработки/Extras/modPrimeVueExtra. Открываем папку modPrimeVueExtra редактором VSCode.
В терминале устанавливаем пакеты node
В папке домен_сайта_разработки/Extras создается папка PackageName и все ссылки на modPrimeVueExtra в PackageName заменяются на PackageName.
Дальше открываем в VSCode домен_сайта_разработки/Extras/PackageName и редактируем схему базы пакета в файле домен_сайта_разработки/Extras/PackageName/_build\configs\schema.xml
В файле домен_сайта_разработки/Extras/PackageName/_build\configs\gtsapirules.js редактируем правила gtsAPI для этого пакета.
Редактируем PackageName/.env и прописываем свой VITE_APP_HOST
Запускаем скрипт получения токена для разработки
Запускаем скрипт загрузки и установки пакета в модекс
Запускаем разработку с Vite
В папке PackageName/src пишем нужный нам функционал.
После того как окончили разработку отключаем dev режим (q + enter в терминале) и запускаем
У нас на MODX много функционала и сразу перейти на какой-то JS фреймворк нельзя. Как и задумывалось заготовка реализует какой-то смешанный режим разработки между стандартным для Vue путем и путем компонентов MODX.
В заготовке сделан GRUD таблицы базы данных MODX. На основе PrimeVue

В компоненте gtsAPI есть сниппет mixedVue и с помощью него можно вывести блок с компонентом на основе modPrimeVueExtra с любом месте сайта.
{'!mixedVue' | snippet : [
'app'=>'modPrimeVueExtra'
]}(только стили бутстрап и PrimeVue друг другу мешают :-()Быстрый старт
Необходимо установленая NodeJs и VSCode.
Заготовка на гитхабе https://github.com/touol/modPrimeVueExtra
Клонирум ее к себе в папку домен_сайта_разработки/Extras/modPrimeVueExtra. Открываем папку modPrimeVueExtra редактором VSCode.
В терминале устанавливаем пакеты node
npm installЗапускаем скрипт копирования и переименования заготовкиnpm run copyВводим новое имя пакета, например, PackageName.В папке домен_сайта_разработки/Extras создается папка PackageName и все ссылки на modPrimeVueExtra в PackageName заменяются на PackageName.
Дальше открываем в VSCode домен_сайта_разработки/Extras/PackageName и редактируем схему базы пакета в файле домен_сайта_разработки/Extras/PackageName/_build\configs\schema.xml
В файле домен_сайта_разработки/Extras/PackageName/_build\configs\gtsapirules.js редактируем правила gtsAPI для этого пакета.
Редактируем PackageName/.env и прописываем свой VITE_APP_HOST
Запускаем скрипт получения токена для разработки
npm run get_tokenВводим логин и пароль. Полученный токен сохраняется в файле PackageName/.envЗапускаем скрипт загрузки и установки пакета в модекс
npm run upconfigНа нужной странице в модекс прописываем вызов сниппета{'!mixedVue' | snippet : [
'app'=>'PackageName'
]}Для режима разработки с Vite в системных параметрах модекс меняем gtsapi_debug_mode на включенно.Запускаем разработку с Vite
npm run devТеперь страница сайта автоматически изменяется при изменение кода в PackageName/srcВ папке PackageName/src пишем нужный нам функционал.
После того как окончили разработку отключаем dev режим (q + enter в терминале) и запускаем
npm run buildВ папке домен_сайта_разработки/core/packages появиться транспортный пакет который можно скопировать и установить на любой сайт MODX 2.x с установленых gtsAPI. Комментарии: 18
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Хотя я сам пока такого не делал (так что мое мнение дилетанта), есть перспектива такая после сайта сделать мобильное приложение с подключением данных с сайта.
Если раз скопировать, то как функционал который еще не написан, а работать компании нужно? А написать год или 2.
Если синхронизировать, то это может гемор. Самописно я пробовал и точно гемор. А какой либо софт не знаю не смотрел еще. Если подскажете, будет интересно. И еще многие таблицы исторически созданны не оптимально. Хочется их переопределить, но сайт под эту структуру таблиц уже заточен. При синхронизации хотелось бы переопределить структуру таблиц :-(.
И большими может тоже не перекинешь :-(. Вообщем есть таблица заказов и от нее зависит склад, производство, снабжение, логистика и т.д. Я счас пытаюсь маленькие блоки на vue перевести. Например распределение деталей из заказов по сменам производства. Или хотя бы написать распределение ресурсов(работников) по сменам.
Пару лет назад я думал — было бы отлично, если бы MODx и его компоненты могли поставлять хороший и удобный REST. Там и админку свою можно набросать и на фронте наконец-то уйти от фенома и сниппетов. Сейчас я понимаю что был ох как не прав, куда проще сесть и начать писать свой бекенд. Вопрос лишь в финансах и желании. Если хотя бы один фактор отсутствует, то хер знает зачем тратить кучу времени и изобретать франкенштейна… Берешь MODx и пользуешь как есть. Товары будут продаваться и без Vue.js.
Чисто на товары Vue и не надо. Надо на динамичное приложение. Уже надоело как надо показать какую-то не стандартную модалку, то чанки на феном и он на фронте не работает. Приходиться идти по ajax на сервер выбирать отдельно данные закидывать их в чанк и html уже забирать. Много лишних телодвижений. Шаблоны лучше на фронте заливать данными. По большому счету я хорошо знаком только с модекс. Другие системы смотрел, но что-то не производят они впечатления. Пару api можно быстро создать, но чтоб чисто сделать апи для 200 таблиц понадобиться год. И еще год фронт написать. Тут на работе не будут ждать 2 года, чтоб у них все заработало. Новое можно только постепенно. Сейчас неделю ночи трачу обдумывая как на основе модекс бек сделать. По идее в часов 200 в течении 2-3 месяцев можно сделать такой функционал, что потом переезд будет в разы проше чем на каком-либо другом беке.
Значит основная проблема — бекенд. У вас API для 200 таблиц написан на MODx, где у вас все таки связаны руки. Значит перенести эту логику в условную лару не составит труда. Это же просто работа с данными которые лежат где-то в БД.
Зачем ночами сидеть и пытаться запихать на фронт сайта, который сделан на MODx — Vue, я хз. Еще вам придется решать вопросы зависимости компонентов от jQuery.
Ну… Это так, мысли в слух. Я не удивлен если у тебя на сайте будет и Vue и jQuery и что-то на ванильке. Франкеншейты они такие…