Использование режима * History * -router "history", но для работы все равно нужен URL-адрес / # / - PullRequest
0 голосов
/ 04 февраля 2020

Я использую Vue с Webpack, и у меня возникают проблемы с vue -router. Я хотел бы удалить / # / из URL, и для этого я использую режим «истории» маршрутизации, как предлагалось в нескольких других публикациях. Однако я не могу заставить URL-адреса фрагментов работать как http://localhost/other/thing.

Например:

import Vue from 'vue'
import Router from 'vue-router'
import ThingPage from 'pages/Thing'
import OtherThingPage from 'pages/OtherThing'
import ViewerPage from 'pages/Viewer'
import NotFoundPage from 'pages/404Page'

const routes = [
      {
        path: '/',
        component: ViewerPage
      },
      {
        path: '/thing',
        component: ThingPage
      },
      {
        path: '/other/thing',
        component: OtherThingPage
      },
      { 
        path: '*',
        component: NotFoundPage }
    ]

    var router = new Router({
        mode:'history',
        routes: routes
    })

    export default router

При доступе к URL-адресу http://localhost/thing в браузере он возвращает ThingPage, и это здорово, потому что мне больше не нужен ха sh (http://localhost/#/thing).

Однако при доступе к URL http://localhost/other/thing появляется ошибка GET http://localhost/other/main.js net::ERR_ABORTED 404 (Not Found). Удивительно, но если я поставлю # в URL, как http://localhost/#/other/thing, это сработает. Я не знаю, что мне здесь не хватает.

Я использую publicPath: '/' в конфигурации веб-пакета, как было предложено.

Я не знаю, что может быть причиной этого.

...