Неправильный URL-адрес маршрутизатора в режиме хэширования
Мой сайт размещен на IIS и доступен как machinename/test/
,
Когда я пытаюсь открыть сайт как machinename/test/
маршрут стал machinename/test/#/
и все активы загружаются, как и ожидалось.
Но если я открою как machinename/test
маршрут стал machinename/test#/
и пути активов ломаются.
Как я могу это исправить? Я хочу, когда собираюсь machinename/test
путь становился machinename/test/#/
,
2 ответа
Это немного глупо, но это должно сработать:
Перед VueRouter
экземпляр, добавить:
if (!window.location.pathname.endsWith('test/')) {
window.location.replace(
`${window.location.href}`.replace(
window.location.pathname,
`${window.location.pathname}`.replace(
'/test',
'/test/')
)
)
}
Перейдите к вашим route.js и измените это
const router = new VueRouter({
routes: []
к этому
const router = new VueRouter({
mode: 'history',
routes:[]
})
Перестройте свой проект и повторно загрузите
Ссылка Vue: https://router.vuejs.org/guide/essentials/history-mode.html