laravel 8 上有一个项目,前面是用 vue 3 编写的。在前面,当用户使用 导航路径时router-link,router-view会加载并显示组件。例如,如果router-link用户导航到/overview/12,router-view加载他的组件,但是当用户在同一路径上并重新加载页面时,则会显示laravel第错误页面模板,404表示没有这样的路由。
如何使所有路由/api/*(我发出 RESTapi 请求的地方除外)使用vue-router.
resorces/js/router/index.js:
import IndexSlider from "../components/IndexSlider";
import Newsfeed from "../views/Newsfeed";
import Overview from "../views/Overview";
const routes = [
{
path: '/',
name: 'index',
redirect: '/index'
},
{
path: '/index',
name: 'index-slider',
component: IndexSlider,
children: [
{
path: 'newsfeed',
name: 'newsfeed',
component: Newsfeed
}
]
},
{
path: '/overview/:id',
name: 'overview',
component: Overview,
props: true
}
]
export default routes;
web/web.php:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\IndexController;
Route::get('/{vue_capture?}', function () {
return view('index');
})->where('vue_capture', '[\/\w\.-]*');
/routes/api.php:这些路线应该适用于查询axios
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\NewsController;
Route::resource('news', NewsController::class);
vue@3.0.5... vue-router@4.0.3_laravel 8


问题是嵌套路径。只需连接脚本以
index.blade.php更改为/js/app.jsjackalade 中的所有内容。更好地利用asset()