Как принудительно перезагрузить и очистить кэш в Typescript?

#angular #typescript #caching #refresh #reload

Вопрос:

недавно до моего внимания дошло, что простое использование window.location.reload() не является сложным обновлением, т. е. кэш очищается вместе с обновлением. Затем мне сказали использовать window.location.reload(true) , но я обнаружил, что с тех пор это устарело.

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

Я видел различные другие подходы, в том числе window.location.href = window.location.href; , но видел комментарии, в которых говорилось, что это не очищает кэш.

Я видел, как люди говорили, что использование метода «POST» должно помочь, но я не уверен, как реализовать это в моем текущем коде. Я использую a MatSnackBar , чтобы предложить пользователю обновить страницу, когда будет выпущена более новая версия приложения. Вот код для этой закусочной:

 showSnackbar(versionFromHTTP: string, appVersion: string): void {
   const httpList = versionFromHTTP.split('.');
   const appList = appVersion.split('.');
   if ((httpList[0] === appList[0]) amp;amp; (httpList[1] === appList[1])){
     let snack = this.snackBar.open('We've made new updates! Please refresh your browser to get the latest updates.', 'Refresh now');
     snack.onAction().subscribe(() => {
      window.location.href = window.location.href;
    });
   }
   else{
     let snack = this.snackBar.open('We've made new updates - some features may not work correctly until you refresh your browser.', 'Refresh now');
     snack.onAction().subscribe(() => {
      window.location.href = window.location.href;
    });
    }
 }

 

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

1. Какова зависимость от кэша? когда вы создаете свое приложение Angular, разве вы не хэшируете сгенерированные пакеты?

2. @RiteshWaghela Привет, спасибо за комментарий. Я недавно начал новую работу в качестве разработчика в новой компании, так как только что закончил университет. Поэтому я не создавал это приложение сам, но сейчас работаю над ним, поэтому, боюсь, я не все понимаю в приложении. Но мой босс говорит, что если кэш не будет очищен, это может привести к тому, что закусочная не исчезнет после обновления.

3. Ваша проблема в том, что закусочная всегда видна при обновлении?

4. @RiteshWaghela не всегда, но это может случиться