首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vue -路由器与Laravel Vue应用程序,它显示404如果我去基础网址登录后

使用Vue -路由器与Laravel Vue应用程序,它显示404如果我去基础网址登录后
EN

Stack Overflow用户
提问于 2019-08-27 08:21:40
回答 2查看 1.4K关注 0票数 2

所以我在Laravel5.8应用程序中使用vue-auth和vue-路由器。有'/‘登陆页面,当我进入基本URL时,即:如果我在http://localhost:8000/上启动了服务器,它就会显示登陆页面,但一旦登录并进入http://localhost:8000/,它就会显示404。谁能帮上忙呢?我对Vue和Vue路由器很陌生。

下面是router.js auth.js和app.js的代码片段

router.js

代码语言:javascript
复制
// Pages

import Login from './components/Login'
import Landing from './components/Landing'
import Home from './components/pages/Home'
// Routes
const routes = [
    {
        path: '/',
        name: 'landing',
        component : Landing,
        meta:{
            auth: false,
            guest: true
        }
    },
  {
    path: '/login',
    name: 'login',
    component: Login,
    meta: {
      auth: false,
      guest: true
    }
  },
  // USER ROUTES

  // Home ROUTES
  {
    path: '/home',
    name: 'home',
    component: Home,
    meta: {
        auth: true
      }
  },
]
const router = new VueRouter({
  history: true,
  mode: 'history',
  routes,
})

export default router

auth.js

代码语言:javascript
复制
import bearer from '@websanova/vue-auth/drivers/auth/bearer'
import axios from '@websanova/vue-auth/drivers/http/axios.1.x'
import router from '@websanova/vue-auth/drivers/router/vue-router.2.x'
// Auth base configuration some of this options
// can be override in method calls
const config = {
  auth: bearer,
  http: axios,
  router: router,
  tokenDefaultName: 'jwtToken',
  tokenStore: ['localStorage'],
  rolesVar: 'role',
  registerData: {url: 'auth/register', method: 'POST', redirect: '/login'},
  loginData: {url: 'auth/login', method: 'POST', redirect: '', fetchUser: true},
  logoutData: {url: 'auth/logout', method: 'POST', redirect: '/', makeRequest: true},
  fetchData: {url: 'auth/user', method: 'GET', enabled: true},
  refreshData: {url: 'auth/refresh', method: 'GET', enabled: true, interval: 30}
}
export default config

app.js

代码语言:javascript
复制
import bearer from '@websanova/vue-auth/drivers/auth/bearer'
import axios from '@websanova/vue-auth/drivers/http/axios.1.x'
import router from '@websanova/vue-auth/drivers/router/vue-router.2.x'
// Auth base configuration some of this options
// can be override in method calls
const config = {
  auth: bearer,
  http: axios,
  router: router,
  tokenDefaultName: 'jwtToken',
  tokenStore: ['localStorage'],
  rolesVar: 'role',
  registerData: {url: 'auth/register', method: 'POST', redirect: '/login'},
  loginData: {url: 'auth/login', method: 'POST', redirect: '', fetchUser: true},
  logoutData: {url: 'auth/logout', method: 'POST', redirect: '/', makeRequest: true},
  fetchData: {url: 'auth/user', method: 'GET', enabled: true},
  refreshData: {url: 'auth/refresh', method: 'GET', enabled: true, interval: 30}
}
export default config

就这样!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-06 09:02:10

我添加了一个404组件,在路由器中添加了{'*',component: NotFound},在'/'上添加了一个检查,如果auth重定向到'/home'

票数 1
EN

Stack Overflow用户

发布于 2019-10-22 16:35:01

代码语言:javascript
复制
**Register your Laravel Route in your Vue Route like this to avoid 404 Error,**   

import users from './components/Users.vue';
import notFound from './components/NotFound.vue';

export default [
    { path: '/users', component: users },
    { path: '/home' }, // Laravel Route
    { path: '*', component: notFound },
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57670485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档