首页 > 解决方案 > 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,但它不起作用。最好的方法是什么?

谢谢。

标签: laravelvue.js

解决方案


我已经有 6 年没有使用 Laravel 了,而是使用了 Vue。我相信这是因为你永远不会进入你的 Laravel 路线,因为 Vue 应用程序是组装好的,因此它在浏览器中完全可用。

如果您通过延迟加载将组件加载到 Vue 路由器中,情况会有所不同。

component: () => import(/* webpackChunkName: "hello" */ './views/helo.vue')

我不知道它是如何与 Laravel 一起工作的。我使用 Vue CLI 工具。希望这可以帮助你一点。


推荐阅读