Angular 6 сервисный работник и маршрутизация - PullRequest
0 голосов
/ 30 октября 2018

У меня есть приложение Angular 6, которое работает нормально, но только до тех пор, пока я не опубликую обновление.

Работник службы запрашивает старую версию скрипта времени выполнения [hash] .js. Это нормально? Насколько я понимаю, сервисный работник должен запрашивать сценарии, как определено в ngsw.config, и использовать в нем хэш-таблицу, чтобы определить, необходим ли запрос ресурса с сервера.

Кроме того, моя (упрощенная) маршрутизация приложений выглядит следующим образом:

{
    path: 'login',
    component: LoginComponent
}, 
{
    path: 'logout',
    component: LogoutComponent
}, 
{
    path: 'error',
    component: ErrorComponent
}, 
{
    path: '**',
    pathMatch: 'full',
    component: PageNotFoundComponent
}

Похоже, это усугубляет проблему, так как кажется, что вступает в действие универсальный маршрут, который направляет к PageNotFoundComponent. Например, если я запрашиваю сценарий, который не существует, я получаю PageNotFoundComponent.

Это вызывает неожиданную ошибку токена '<' в браузере (я полагаю, откуда тег сценария фактически ожидает некоторый сценарий, а не HTML-код страницы 404). </p>

Почему угловая маршрутизация здесь играет роль? Если я запрашиваю сценарий, который существует, я получаю возвращенное содержимое сценария (так что маршрутизация, по-видимому, на него не влияет), но только когда он этого не делает, я получаю страницу 404.

редактировать Просто добавлю, я прикрепляю ответ от запроса к ngsw.json. Это показывает хэш-таблицу сценариев / ресурсов. Там я вижу только одну, самую последнюю копию runtime.js.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...