ZEIT Now Angular PWA ручка 404 - PullRequest
       15

ZEIT Now Angular PWA ручка 404

0 голосов
/ 07 февраля 2020

У меня есть PWA IONIC / Angular, размещенный на ZEIT сейчас. Я заметил, что иногда после развертывания приложение имеет пустую страницу при запуске. После исследования я обнаружил, что после развертывания браузер хочет получить некоторые кэшированные .js файлы.

Обычно ZEIT Now просто показывает 404 или что-то еще или поднимает статус http 404. Но я заметил, что ответом был index.html (со статусом 202), который браузер не может обработать, потому что он ожидает javascript, а не текст / html.

Мой текущий now.json

{
    "version": 2,
    "name": "my-app",
    "routes": [
      {
        "src": "dist/main.*.js",
        "headers": { "Cache-Control": "s-maxage=0, max-age=0" }
      },
      {
        "src": "dist/ngsw.json",
        "headers": { "Cache-Control": "s-maxage=0, max-age=0" }
      }
    ] 
  }

Как я могу справиться с этим?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2020

Angular определяется автоматически и добавляется маршрутный символ, чтобы любой маршрут, не соответствующий активу c, будет обслуживаться /index.html.

https://zeit.co/docs/v2/build-step#optimized - frameworks

Похоже, лучшим решением для вас было бы отключить хеширование файлов, чтобы ваши ресурсы js / css не переименовывались каждый раз.

ZEIT Теперь уже удаляет Кэш CDN, поэтому вам не нужно беспокоиться об устаревших файлах.

https://zeit.co/docs/v2/network/caching

0 голосов
/ 08 февраля 2020

Возможно, вы можете попробовать 404 несуществующих хэшированных .js файла? Вот несколько шагов:

  1. Используйте Расширенные настройки проекта , чтобы избавиться от префикса dist.
  2. Если вы хотите использовать routes ( ссылка ), после устранения проблемы с префиксом dist попробуйте:
    "routes": [
      { "handle": "filesystem"},
      {
        "src": "/main.*", "status": "404", "dest": "/404"
      }
    ] 
...