У меня проблема с текущим работником службы в моем производственном проекте. В основном сервер работает на Apache. Всякий раз, когда я строю свой проект
используя ng build --aot --build-optimizer --prod
и загружая и заменяя все файлы из папки dist в моей папке dist на сервере, работники сферы обслуживания не обновят мою новую версию, пока я полностью не очистлю кеш в браузере, после чего будет загружена последняя версия.
Мой вопрос: я делаю что-то не так во время загрузки? Или это проблема с самим работником?
Насколько я понимаю, сервисный работник использует ngsw.json для сравнения хэшей между новыми и старыми версиями, но поскольку я полностью удаляю файлы и загружаю все новые файлы, значит, у сервисного работника есть какой-то кешированный файл ngsw для сравнения, или я ' я не прав?
Также я добавил следующий код в app.component.ts, чтобы отслеживать, запускается ли обновление версии или нет, но я никогда не получаю вывод в консоли.
constructor(private router: Router, public swUpdate: SwUpdate) {}
ngOnInit() {
this.swUpdate.available.subscribe(event => {
console.log(`%c A newer version is now available. Refresh the page now to update the cache`, "background: black; color: red");
this.update = true;
this.swUpdate.activateUpdate().then(() => document.location.reload());
});
this.swUpdate.checkForUpdate();
}