问题很简单。
为了使用Laravel和VueJS构建简单页面应用程序(SPA),router.js中存在的所有路径(定义SPA路径的文件)是否也应该在Laravel的web.php
中出现?>
例如,我正在使用here中的源代码:
router.js
中的 resources/assets/js/frontend
具有:
export default [
{ path: '/create', component: SubmitTicketFormComponent },
{ path: '/view/:ticketId', name: 'client-view-ticket', component: ViewTicketComponent, props: true }
];
但是web.php
文件夹中的routes
有
Route::get('/', function () {
return view('welcome');
});
Route::get('/admin', function () {
return view('admin');
});
Route::post('/login', 'Auth\LoginController@login');
Route::post('/logout', 'Auth\LoginController@logout')->name('logout');
//Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
api.php
文件夹中的routes
包含:
Route::middleware('auth:api')->group(function() {
Route::get('/profile', 'ProfileController@index');
Route::apiResource('/admin/tickets', 'Admin\TicketsController');
});
Route::apiResource('tickets', 'TicketsController');
那么关于VueJ和Laravel的路径或路由声明的规则是什么?
答案 0 :(得分:0)
如果您想拥有SPA并保留一些Laravel页面,则需要这样的路线:
Route::get('/{any}', 'VueController@index')->where('any', '.*');
这可以在路由文件的末尾,因此,如果它与现有的Laravel路由不匹配,它将打开Vue SPA并从那里处理路由。