laravel - VueJS 路由上的 Laravel 中间件
问题描述
我的 SPA 应用程序中有一个 VueJS 路由。我想将 Laravel 中间件应用于路由(在本例中为 auth 中间件)。
实际上,我已经尝试过这个:
应用程序.js
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: require('./views/Home').default,
},
{
path: '/hello',
name: 'hello',
component: require('./views/Hello').default,
},
],
});
路线/web.php
Route::get('/hello', 'HomeController@home')->middleware('auth');
Route::get('/{any}', 'FrontendController@index')->where('any', '.*');
在这段代码中,我尝试将auth
中间件链接到路由/hello
,但它不起作用。最好的方法是什么?
谢谢。
解决方案
我已经有 6 年没有使用 Laravel 了,而是使用了 Vue。我相信这是因为你永远不会进入你的 Laravel 路线,因为 Vue 应用程序是组装好的,因此它在浏览器中完全可用。
如果您通过延迟加载将组件加载到 Vue 路由器中,情况会有所不同。
component: () => import(/* webpackChunkName: "hello" */ './views/helo.vue')
我不知道它是如何与 Laravel 一起工作的。我使用 Vue CLI 工具。希望这可以帮助你一点。
推荐阅读
- php - 如何更改购物车 laravel 中的数量?
- java - Linux 上的 PDFBox 2.0.17 字体
- python - 输入()函数在python中存在线程时抛出错误
- java - 有些测试用例没有运行,但有些是在概率方面
- javascript - vue (v2) 过渡组不适用于 *-move 类
- python - 如何随着时间的推移创建重复的数据帧并将其映射到时间列表?
- c# - Selenium C#:无法单击用户鼠标悬停时出现的#shadow-root(关闭)中的元素
- postgresql - Postgres 12 不区分大小写的比较
- database - 在员工表中添加实习生
- java - 从 Java 函数向 Ionic v1 应用程序传递值