Когда я использовал только laravel, было легко создать сайт с 2 различными дизайнами, например, панель администратора с использованием AdminLte https://adminlte.io/themes/AdminLTE/index.html и основной сайт с использованием этого дизайна http://venoxis.epizy.com/project/
с блейдом было легко, я, например, делал папку с именем (admin), в которой есть файлы (layout.blade. php, index.blade. php ..et c ) все файлы в этой папке простираются от layout.blade. php:
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
@yield('styles')
</head>
<body>
<div id="app">
@include('layouts.navbar');
<main class="py-4">
@yield('content')
</main>
</div>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
@yield('scripts')
</body>
</html>
, так что теперь у меня есть готовый макет панели администратора, и у каждой страницы есть свой собственный заголовок (стили & title), сценарии и контент
Теперь я использую laravel и vuejs для создания одностраничного приложения. Как я могу это сделать? Я сделал Приложение. vue
<template>
<div>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: "App"
}
</script>
<style scoped>
</style>
Приложение. js
require('./bootstrap');
import Vue from 'vue';
import router from './router';
import App from './components/App';
import BootstrapVue from 'bootstrap-vue';
import ExampleComponent from "./components/ExampleComponent";
import Login from "./components/Login";
import Dashboard from "./components/admin/Dashboard";
const routes = [
{path: '/', component: ExampleComponent},
{path:'/login', component: Login},
{path:'/admin', component: Dashboard}
]
const router = new VueRouter({
routes,
mode: 'history',
});
Vue.use(BootstrapVue);
const app = new Vue({
el: '#app',
components: {
App
},
router,
});