Неправильный 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

Другие вопросы по тегам