Vue router и webpack - конфигурация режима истории localhost

По сути, я использую Vue cli с шаблоном webpack, и мне нужно использовать режим истории в маршрутизаторе vue, но я использую параметры для маршрута.

Я прочитал этот документ: https://router.vuejs.org/en/essentials/history-mode.html, и я тоже смотрю эту ветку: Проблемы с маршрутизатором vue (режим истории) на сервере разработки Vue.js -« Невозможно GET / config »

Поэтому я меняю webpack.dev.conf.js с:

historyApiFallback: {
      rewrites: [
        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
      ],
    }

to

historyApiFallback: true

Теперь я получаю пустую страницу при попытке доступа к странице с параметрами. Есть подсказка?


person João Saro    schedule 19.02.2018    source источник
comment
Вы используете server-side рендеринг? Можете ли вы разместить код, чтобы воспроизвести проблему? Недавно я создал небольшое приложение с использованием Vue и также смог получить доступ к страницам с параметрами.   -  person a1626    schedule 19.02.2018
comment
С режимом истории? Нет, это просто клиентская сторона.   -  person João Saro    schedule 19.02.2018
comment
Да, с режимом истории. Я использовал 2.5.x или более позднюю версию Vue   -  person a1626    schedule 19.02.2018
comment
Здесь все обновлено. Это маршрут, и он работал до режима истории: {path: '/ partner /: id', name: 'PartnerDetail', component: PartnerDetail}   -  person João Saro    schedule 19.02.2018
comment
Вы не меняли webpack? Потому что в режиме истории обычно вам нужно настроить серверные материалы, а также конфигурацию разработки.   -  person João Saro    schedule 19.02.2018
comment
Нет я не менял конфиг   -  person a1626    schedule 19.02.2018
comment
Можете ли вы поделиться своей историей конфигурации ApiFallback и примером маршрута?   -  person João Saro    schedule 19.02.2018
comment
Позвольте нам продолжить это обсуждение в чате.   -  person a1626    schedule 19.02.2018


Ответы (1)


ОБНОВИТЬ:

Я задал этот вопрос на форуме Vue, и @LinusBorg помог мне понять, что происходит с vue-router и режимом истории:

https://forum.vuejs.org/t/vue-router-and-webpack-history-mode-config-localhost/27880/12

По сути, он рекомендует «не нужно ничего менять (я [LinusBorg] поддерживаю этот шаблон)» в файлах webpack / config. Когда я перешел на относительные пути, он сломался.

Поскольку мне нужно доставить проект в подпапку, он рекомендует несколько шагов:

  1. режим истории не может работать без абсолютных путей. Относительные пути к файлам aset будут прерваны, когда вы напрямую перейдете на подмаршрут. Это не то, что вы сможете обойти.
  2. Если вы хотите обслуживать из подпапки, вы должны сообщить об этом маршрутизатору, установив опцию base1.
  3. вы также установили подпапку записи как assetsPublicPath в конфигурации (как для сборки, так и для разработки, если вы не сделаете базовый переключатель маршрутизатора в соответствии со средой).

Затем страница с параметрами по-прежнему не работает, потому что сервер (и даже localhost) должен быть настроен, как описано здесь: https://router.vuejs.org/en/essentials/history-mode.html

person João Saro    schedule 20.02.2018