Laravel - многостраничное приложение Vue с одним экземпляром Vue - PullRequest
0 голосов
/ 11 февраля 2019

Я использую Laravel для проекта и хотел бы переключиться на Vue.Это пример моей установки прямо сейчас: -

"route / web.php"

Route::get('/home', 'HomeController@home');
Route::get('/about', 'HomeController@about');
Route::get('/blogs', 'HomeController@blogs');

"views / master.blade.php"

<!DOCTYPE html>
<html>
  <head>
    <title>@yield('title')</title>
    <!-- AND OTHER STUFF -->
  </head>
  <body>
    <!-- NAV BAR -->


    <div id="app">
      @yield('content')
    </div>


    <script src="app.build.js"></script>
  </body>
</html>

"views / pages / home.blade.php"

@extends('master')

@section('title', "Home")

@section('content')
  <home-content
    customproperties="{{ $somedata }}"
  ></home-content>
@endsection

"app.js"

var vm = new Vue({
    data(){
        return {

        }
    },
    components: {
        HomeContent,
        AboutContent,
        BlogsContent
    }
})

Предположим, у меня все компоненты готовы и работают нормально.Проблема в том, правильно ли я это делаю?Я не хочу делать это одностраничным приложением для сложности проекта, вместо этого я хочу сделать это гибридным способом.Все компоненты vue будут иметь свои соответствующие страницы, а на некоторых страницах даже не будет компонента vue, просто страница простого блейда.

Например, статическая страница может выглядеть следующим образом: -

@extends('master')

@section('title', "Static Page")

@section('content')
  Just a static page, it has nothing to do with vue, but still sitting inside Vue instance's template scope.
@endsection

Для этих страниц загружается скрипт vue, а "#app" интерпретируется как шаблон.Но эта страница не будет использовать для VUE.Хорошо ли оставить это так?Или для этого существует более оптимальный способ?

Приветствуются любые рекомендации относительно лучших практик для многостраничного приложения Laravel-Vue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...