我不知道我的代码有什么问题,还是在laravel 8上出现问题?
路由器JS文件
import Vue from 'vue'
import VueRouter from 'vue-router'
import FirstPage from './components/pages/FirstPage.vue'
Vue.use(VueRouter)
const routes = [
{ path: '/new-route', component: FirstPage }
]
export default new VueRouter({
mode: 'history',
routes
})
应用JS文件
require('./bootstrap');
window.Vue = require('vue')
import router from './router'
Vue.component('mainapp', require('./components/mainapp.vue').default)
const app = new Vue ({
el: '#app',
router
})
网络PHP文件
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TestController;
Route::get('/', function () {
return view('welcome');
});
Route::get('test', [TestController::class, 'test']);
Route::any('{slug}', function(){
return view ('error');
});
有什么想法吗?或任何建议。 (它需要发布更多详细信息)
答案 0 :(得分:2)
您需要在web.php
Route::any('{all}', [TestController::class, 'test'])
->where('all', '^(?!api).*$')
->where('all', '^(?!storage).*$');
或
Route::any('{all}',function(){
return view('main'); // it should be main blade file
})
->where('all', '^(?!api).*$')
->where('all', '^(?!storage).*$');
在没有#
的情况下工作vue路由器
此代码排除了api
和storage
网址,因此它们都可以正常工作,并且其他所有路由捕获功能都可以使vuejs发挥作用