Chrome не загружает все исходные файлы JS Webpack, но Firefox + Chrome Incognito делает - PullRequest
1 голос
/ 08 июня 2019

Мы столкнулись с недавней проблемой развертывания нашего приложения Vue.js, обслуживаемого через Heroku.

Проблема высокого уровня заключается в том, что при повторном развертывании в нашей среде Dev приложение загружается только в режиме Chrome Incognito или в Firefox.

Приложение не загружается в обычном Chrome - вместо этого оно возвращает пустую белую страницу.

Мы обеспокоены тем, что при продвижении из Dev -> Staging -> Prod пользователи также столкнутся с этой проблемой кэширования, и приложение не загрузится для них.

Одна вещь, которую мы заметили, это то, что файл, который загружается в режиме инкогнито, login.js, не загружается в режиме не инкогнито.

.

Режим без инкогнито

Non-incognito mode

Исходные файлы без инкогнито

enter image description here

(Здесь мы видим, что login.js, а также папка img не загружается)

.

Режим инкогнито

Incognito mode

Исходные файлы инкогнито

enter image description here

Еще одна вещь, которую мы заметили, это то, что bootstrap, кажется, инициирует этот вызов в режиме инкогнито, но мы не видим этот запрос не в режиме инкогнито. Возможно, загрузчик не загружается?

Мы также видим это в консоли:

Console

Поэтому кажется, что что-то не загружается или кэшируется (и, следовательно, самая новая / правильная версия не загружается).

Эта проблема возникает, даже если мы активируем «Отключить кэш» в Chrome Dev Tools в режиме без инкогнито.

Мы не уверены, является ли это проблемой кэширования, или проблемой веб-пакета, или, возможно, просто проблемой Chrome. Кто-нибудь знает, почему эти исходные файлы не могут быть загружены в режиме без Cognito?

.

Редактировать : Я также отключил все расширения Chrome в режиме без инкогнито, но безрезультатно. Другой разработчик в нашей команде подтвердил проблему с его стороны, однако, второй разработчик вообще не имеет проблемы в Chrome.

Чтобы повторить проблему, вы не можете просто зайти на сайт один раз . Фактически, вам нужно посетить его один раз, затем необходимо развернуть новую версию, а затем после перезагрузки страницы она не загрузится.

.

Редактировать 2 : Еще одна вещь, которую я заметил, это то, что правильная версия инкогнито загружает ДВА ИЗ КАЖДОГО login.js и login.css. Не инкогнито версия не может вызвать вторые версии. Интересно, есть ли конфликт имен как-то кэшируется?

enter image description here

1 Ответ

0 голосов
/ 10 июня 2019

Я думаю, что мы выяснили ответ.

Clear storage влияет на 3 вещи.

  1. Работники сферы обслуживания
  2. Хранилище
  3. Кэш

Мы были почти уверены, что это не проблема с кешем, потому что мы добавили Content: no-cache и Disable cache в Chrome Dev Tools.Кроме того, мы не используем сервисных работников для приложения.

Мы перешли от использования localStorage (постоянный) в нашем коде приложения к использованию sessionStorage (эфемерный).

Этоказалось, решил проблему.

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