Мне сложно интегрировать сервис-менеджера углов в мое приложение. Я последовал за гидом, и он работает до сих пор. Я могу создать ярлык на моем рабочем столе и запустить в свое приложение. Проблема в том, что мое приложение каким-то образом не обновляется. Если я изменю имя кнопки, создам приложение и помещаю его на свой сервер, приложение по-прежнему показывает старую версию, пока не нажму F5 (перезапуск приложения тоже не поможет).
Я попытался поместить следующий код в свой ngOnInot моего приложения, но это не помогло
ngOnInit() {
if (this._SwUpdate.isEnabled) {
setInterval( () => {
this._SwUpdate.checkForUpdate().then(() => console.log('checking for updates'));
}, this.updateInterval);
this._SwUpdate.available.subscribe(() => {
console.log('update found');
this._SwUpdate.activateUpdate().then(() => {
console.log('updated');
window.location.reload();
});
});
}
}
Приложение работает на моей машине apache2 linux. Является ли apache кэшированием чего-то или почему мое приложение не понимает, что есть новая версия?
Заранее спасибо за помощь :)
Редактировать:
Мой ngsw-config.json
{
"index": "/index.html",
"assetGroups": [{
"name": "roomPlan",
"installMode": "prefetch",
"resources": {
"files": [
"/index.html",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}]
}
Изменить 2:
Он работает, если я запускаю приложение локально, используя "http-server", но когда я копирую файлы на свой apache, он не обнаруживает обновление. На вкладке "Сеть" я вижу, что интервал работает, приложение получает новый "ngsw.json" с сервера каждые 3 секунды. Если я обновляю свое приложение, я вижу, что в ответ на "ngsw.json" есть новые значения хэш-функции. После этого браузер загружает новые "index.html" и "main. ***. Js" с моего сервера, но приложение не применяет новую версию. Согласно моему коду, он должен сказать "обновление найдено", но ничего не происходит.