Vue Router не работает после создания производства - PullRequest
0 голосов
/ 02 июля 2019

Мой проект Vue работает правильно, когда я собираю его с помощью dev.Однако после запуска npm run build и перемещения файлов dist в мой веб-сервер Vue Router, похоже, больше не работает.

Я пытался удалить режим истории, но это не сработало.

Vue Router

import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
import axios from 'axios'

Vue.use(Router)

const router =  new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/donate',
      name: 'donate',
      component: () => import('./views/Donate.vue')
    },
    {
      path: '/guildselector',
      name: 'guildselector',
      meta: {
        requiresAuth: true
      },
      component: () => import('./views/Guildselector.vue')
    },
    {
      path: '/guild/:id',
      name: 'guild',
      meta: {
        requiresAuth: true,
        requiresAdmin: true
      },
      component: () => import('./views/Guildpanel.vue')
    }
  ]
})

export default router

MyWebsite.com/guildselecto r должен показывать, например, компонент Guildselector, однако я получаю

Not Found The requested URL /guildselector was not found on this server.

Только пожертвовать страницу и целевую страницуработа.

1 Ответ

1 голос
/ 02 июля 2019

Это очень распространенная проблема;пожалуйста, прочитайте HTML5 History Mode подробно о том, как настроить ваш веб-сервер для правильного размещения файлов.

Однако возникает проблема: поскольку наше приложение является одностраничным клиентомприложение стороны, без правильной конфигурации сервера, пользователи получат ошибку 404, если они получат доступ к http://oursite.com/user/id непосредственно в своем браузере.

...