Как сделать правильную(гибкую, качественную) архитектуру Vue в Laravel?

Добрый день.
Начал разбираться в связке Vue и Ларавель. Архитектура предложенная в примере хороша только для примера. Реально если так использовать будет каша в файлах и коде, как мне кажется.
Для фронта так-же хочу использовать бутстрап и его плагины и jQuery

Cмотрю в сторону не сингпейджа, а обычного приложения на шаблонах блэйд, где яваскриптовые части строятся из компонентов vue.
Наскольно это верный подход?

Может хорошие статьи или уроки у вас сохранены, по этому вопросу?
На ларакасте смотрел, уровень не тот.
Как верно писать компонент Vue, прямо так как в примере от Ларавель? Или есть более правильный подход?

Все компоненты и плагины яваскриптов собирать в один файл или разные как-то?
  • Вопрос задан
  • 2237 просмотров
Решения вопроса 2
@hopeful_romantic
Правильно писать так, как в примере от Laravel (файл Example.vue).

Хотя, можно обойтись и без Example.vue, а писать бизнес логику в app.js.
Например, вот этот товарищ так и делает:
https://www.youtube.com/watch?v=ZEF3TAAzfVM

Но, первый вариант, более правильный.
Когда начнешь так писать, возникнет необходимость в обмене данными между разными vues.
Для этого используй Vuex.
Можешь посмотреть о нем вот здесь:
https://www.youtube.com/playlist?list=PL55RiY5tL51...

А в остальном, в правильном направлении движешься.
Приложения с использованием связки Laravel+Vue.js получаются реально классными.

Желаю удачи!
Ответ написан
riky
@riky
Laravel
в blade шаблонах по-моему не удобно писать vue шаблоны. как минимум начинают переменные интерпретироваться, и надо как то экранировать. поэтому страницы делаю во vue файлах.

сейчас blade шаблоны выглядят так.
@extends('layouts.app')

@section('content')
    <page-cities></page-cities>
@endsection


пока так, но думаю все таки на SPA со временем переходить, и при такой системе это сделать будет не сложно. пока практикую такой переходный вариант, а дальше посмотрим.
также послушал бы и про другие подходы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dskozin
@dskozin
Здравствуйте!

Сейчас пишу приложение в связке Vue и Laravel. Изначально стал использовать подход с компонентами в отдельных файлах - это действительно правильный путь. Иначе как только приложение немного разрастется управлять им будет невозможно.
Так же использую vue-router и vuex. Концепции не очень сложные - со временем они точно пригодятся.
По умолчанию Лара предлагает писать так же компонентами, которые собираются в приложение встроенным механизмом - Elixir. Я пошел немного по другому пути - установил webpack с vue шаблоном компиляции и стал разрабатывать фронт как принципиально отдельное приложение (как здесь), обращающееся к Ларе за данными (REST архитектура). После компиляции файл фронта подключу к точке входа Лары (index.blade.php и в нем id="app") и сделаю проброс веб маршрута (не АПИ) в приложение (как здесь).

Честно говоря сам не знаю почему не пошел по предложенному по умолчанию пути - Elixir так же следит и компилирует файлы на горячую. Наверное хотелось сделать полностью разделенную архитектуру фронт-бэк..
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы