Я использую 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: '/'
в конфигурации веб-пакета, как было предложено.
Я не знаю, что может быть причиной этого.