laravel - Vue-Router 仅显示使用 Laravel Blade 的基本路由?
问题描述
我正在从使用 Laravel 路由切换到在我的应用程序上使用 Vue-Router,我只能使用 Vue-Router 获取要加载的基本路由。我使用本文中的示例将路由分成两个文件,公共文件和私有文件:https ://itnext.io/vue-router-99e334094362 。我是 Vue-Router 的新手,我做错了什么?
这是我的代码:
main.blade.php
:
<div id="app">
<section>
<!-- header menu -->
<am-app-nav></am-app-nav>
</section>
<section>
<router-view></router-view>
</section>
<section>
<!-- Footer -->
<am-footer></am-footer>
</section>
</div>
app.js
:
window.Vue = require('vue')
import Vue from 'vue'
import VueRouter from 'vue-router'
import router from './router/index.js'
Vue.use(VueRouter)
const app = new Vue({
el: '#app',
router,
})
router/index.js
:
import Vue from 'vue'
import Router from 'vue-router'
import routes from './routes/index.js'
Vue.use(Router)
const router = new Router({
mode: 'history',
routes: [
{
path: '/',
redirect: '/welcome',
},
].concat(routes),
})
export default router
router/routes/index/js
:
import publicRoutes from './public.js'
import privateRoutes from './private.js'
export default publicRoutes.concat(privateRoutes)
router/routes/private.js
:
const routes = [
{
path: '/dashboard',
component: require('../../views/admin/Dashboard').default,
},
{
path: '/client-details',
component: require('../../views/admin/ClientDetails').default,
},
{
path: '*', component: require('../../views/public/NotFound').default
},
]
export default routes.map((route) => {
return { ...route, meta: { public: false } }
})
解决方案
我需要将此添加到web.php
:
// SPA Route
Route::get('{any}', function () {
return view('_layouts.main');
})->where('any', '.*');
推荐阅读
- android - 为什么添加一个空字符串会修复我的 TextView.setText()?
- asp.net-mvc - 如何在 MVC 中使用自定义模型
- unix - 在 UNIX 中替换负值
- spring - 为什么这个 Spring REST API 强制用户名而不是密码
- javascript - 使用 JavaScript 计算字符串中累积的字符数
- javascript - 组织大型 javascript Web 应用程序
- visual-studio-code - 如何在 Visual Studio Code 中为语言服务器启用日志
- vba - Excel 中的宏中的 If 语句
- testing - 测试 Google 应用内购买订阅时出错
- c# - MongoDb C#:获取所有匹配的子文档