Laravel VueJs SPA :VueJS 路由器路由是否与 Laravel 路由匹配



这个问题很简单。

为了使用 Laravel和 VueJS 构建一个简单的页面应用程序 (SPA(,路由器中存在的所有路径.js(定义 SPA 路径的文件(是否也存在于 Laravel 的web.php中?

例如,我正在使用此处的源代码:

resources/assets/js/frontend内部router.js有:

export default [
{ path: '/create', component: SubmitTicketFormComponent },
{ path: '/view/:ticketId', name: 'client-view-ticket', component: ViewTicketComponent, props: true }
];

但是routes文件夹中的web.php

Route::get('/', function () {
return view('welcome');
});
Route::get('/admin', function () {
return view('admin');
});
Route::post('/login', 'AuthLoginController@login');
Route::post('/logout', 'AuthLoginController@logout')->name('logout');
//Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');

文件夹内的api.phproutes有:

Route::middleware('auth:api')->group(function() {
Route::get('/profile', 'ProfileController@index');
Route::apiResource('/admin/tickets', 'AdminTicketsController');
});
Route::apiResource('tickets', 'TicketsController');

那么关于 VueJs 和 Laravel 的路径或路由声明的规则是什么?

如果你想有一个SPA并保留一些Laravel页面,你需要有这样的路线:

Route::get('/{any}', 'VueController@index')->where('any', '.*');

这可以在你的路由文件的末尾,所以如果它与现有的Laravel路由不匹配,它将打开Vue SPA,路由将从那里处理。

最新更新