Laravel Vue Router返回404页

San*_*jay 1 laravel vue.js vue-router

我在我的应用程序中使用Vue Router。用户访问时''HomeComponent应该加载并运行!但是,当我转到时/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},
];
Run Code Online (Sandbox Code Playgroud)

app.js

const router = new VueRouter({
    mode: 'history',
    routes
});
Run Code Online (Sandbox Code Playgroud)

routes/web.php

Route::get('/', function () {
    return view('layouts.master');
});
Run Code Online (Sandbox Code Playgroud)

MasterComponent这些路由就是在这里加载的。已HomeComponent加载,但其他组件未加载。实际上,当mode: 'history'我在自己的app.js!在我将模式更改为历史记录之前,它一直运行良好。

San*_*jay 7

刚刚找到解决方案:

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

这有助于Laravel捕获Vue生成的URL!而已!

  • 它有效,但如果有人能解释它为什么有效,我将不胜感激? (2认同)