Маршрутизатор PWA открывается пустой на устройстве (с Vue) - PullRequest
0 голосов
/ 01 ноября 2018

Я построил 2 PWA на основе Vue (с шаблонами Vue UI, с уже настроенным маршрутизатором и PWA), но я сталкиваюсь с одной и той же проблемой: после добавления в Homescreen на устройстве, когда я открываю его из значка приложения, роутер viez не появляется и остается пустым, пока я не нажму на ссылку роутера. Я не понимаю почему.

Пример одного из них, мое портфолио:

URL Ссылка

GitHub Ссылка

Некоторые части файлов, которые, я думаю, связаны с этой проблемой:

router.js

export default new Router({
  mode: 'history',
  base: 'index.html',
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    }
  ]
})

firebase.json

"rewrites": [
  {
    "source": "**",
    "destination": "/index.html"
  }
]

Ответы [ 4 ]

0 голосов
/ 15 мая 2019

С риском повторения ответа Калигари, я бы сказал, что обязательная часть составляет всего

{ path: '/index.html', component: Home }

в конфигурации роутера. Вы также можете использовать псевдоним, чтобы он выглядел лучше на клиенте. Хотя при использовании в качестве PWA это не имеет значения, поскольку адресная строка не видна.

{ path: '/index.html', component: Home, alias: '/' }

0 голосов
/ 10 января 2019

Добавьте следующее к вашему vue.config.js:

pwa: {
  workboxOptions: {
    navigateFallback: '/index.html',
  },
},
0 голосов
/ 24 февраля 2019

Я решил свою проблему с добавлением псевдонима для стартовой страницы в маршрутах (в моем случае «Логин»)

в manifest.json:

{
...
"start_url": "index.html",
...
}

в конфигурации роутера:

let router = new Router({
...
  routes: [
    {   path: '/index.html',
        component: Login,
        alias: '/'
    },
    {
        path: '/',
        name: 'login',
        component: Login
    },
...
0 голосов
/ 03 декабря 2018

Была такая же проблема. Оказывается, это решение довольно простое. Вы должны добавить / изменить это в manifest.json

"start_url": "/",
"scope": "/"
...