首页 > 解决方案 > Laravel Vue Router 返回 404 页面

问题描述

我在我的应用程序中使用 Vue 路由器。当用户访问''时,HomeComponent应该加载它!但是,当我 goto 时/loginLoginComponent不会加载,应用程序会将我重定向到 404 页面。请帮忙。

routes.js

import HomeComponent from './components/Home.vue';
import LoginComponent from './components/auth/LoginComponent.vue';

export const routes = [
    {path: '', component: HomeComponent},
    {path: '/login', component: LoginComponent},
];

app.js

const router = new VueRouter({
    mode: 'history',
    routes
});

routes/web.php

Route::get('/', function () {
    return view('layouts.master');
});

MasterComponent就是这些路由加载的地方。加载但HomeComponent其他组件不加载。实际上,它发生在我写mode: 'history'在我的app.js!在我将模式更改为历史之前,它之前工作正常。

标签: laravelvue.jsvue-router

解决方案


刚刚找到解决方案:

Route::get('/{vue_capture?}', function () {
    return view('layouts.master');
})->where('vue_capture', '[\/\w\.-]*');

这有助于 Laravel 捕获 Vue 生成的 URL!就是这样!


推荐阅读