해결된 질문
작성
·
738
1
안녕하세요. 오프라인에서도 볼 수 있는
const getCacheVersion = () =>
`api_${(() => {
const DATE = new Date()
const weekday = Math.floor(DATE.getDate() / 7)
return weekday === 1 && DATE.getHours() < 10 ? weekday - 1 : weekday
})()}`
const API_URL = 'https://meals-data.muhun.kim';
self.addEventListener('install', evt => {
evt.waitUntil(
caches
.open(getCacheVersion())
.then(cache => cache.add(API_URL))
.catch(evt => console.log(evt))
)
})
많이 생략되어 있습니다.
그러나 서비스워커를 수동으로 업데이트하지 않으면 새로운 버전이 주입되지 않고 있습니다. (영상 참조)
바이트 하나만 달라도 업데이트된 것으로 간주됩니다. (이를 확장하여 가져온 스크립트/모듈도 포함할 것입니다)
답변 4
1
안녕하세요! 오랜만입니다.
로컬 빌드 환경(localhost)에서 임의로 시간을 바꾸었을 때 캐시 버전이 잘 바뀌고 있는데, 원격 환경에서(bob.muhun.kim) 캐시가 바뀌지 않은 문제를 발견했습니다.
혹시나 비슷한 오류를 겪으신 적이 있으셨는지 선생님의 의견이 필요해서 오랜만에 여쭤봅니다.
문제에 대한 시행착오는 제가 질문 드린 내용과 스스로 답변한 내용을 참고 부탁드립니다.🙇
1
0
안녕하세요 무훈님, 제가 답변이 조금 늦었네요 ㅜㅜ 잘 해결하신 것 같아 다행입니다. 그리고 직접 서비스워커를 생성하시는 것으로 보이는데 아래 라이브러리도 써보시면 좀 더 서비스워커 갱신이나 캐싱 관리하시기 편할 것 같습니다 :)
수강해 주셔서 감사하고 좋은 애플리케이션 기대됩니다. 혹시 만드시면 저도 한번 공유 부탁드릴게요 :)