Angular PWA — как принудительно перезагрузить новую версию

#angular #progressive-web-apps

#angular #прогрессивные веб-приложения

Вопрос:

[Angular PWA] Я использую приведенный ниже код для принудительной перезагрузки новой версии после развертывания. Однако это не работает, он по-прежнему загружает старый код. Кто-нибудь может помочь мне решить проблему?

После того, как я разверну код на сервере. На клиенте (браузеры) я нажимаю на кнопку, чтобы вызвать приведенный ниже код.

 this.updates.activateUpdate().then(() => document.location.reload());
  

Спасибо

Комментарии:

1. Можете ли вы предоставить полный код?

Ответ №1:

Возможно, вы захотите рассмотреть возможность использования —output-hashing при выполнении сборки через angular cli, что также позволит выполнить чистое обновление для всех приложений PWA.

Ознакомьтесь https://angular.io/cli/build для получения более подробной информации.

Комментарии:

1. Спасибо за ваш ответ, @maxkart. Я использовал приведенную ниже команду для выполнения «npm run buildProd». В файле package.json «buildProd»: «узел —max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng сборка —конфигурация=производство —aot —Вывод данных= все». Тем не менее, я все еще получаю старый код после развертывания/

2. можете ли вы попробовать «ng build —prod —output-hashing =all»

3. @ThanhVietNguyen, ты разобрался в этом? Я также использую хэширование, и мое приложение не загружает новый код с помощью location.reload()

4. то же самое здесь, не могу увидеть изменения с ng build amp;amp; http-server -p 8080 -c-1 dist любыми предложениями, пожалуйста