2016-08-18 4 views
1

У меня есть приложение для одной страницы, написанное с использованием Aurelia. Он отлично работает.Как обеспечить обновление страницы в приложении с одной страницей

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

Попробовали, Обновите браузер, Управление F5.

также поставить это в головах index.html

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Expires" content="-1"> 
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE"> 

Но я не думаю, что когда system.js извлекает отдельные компоненты, что выше, будет иметь никакого эффекта.

+0

Так это проблема, когда вы разрабатываете все или что пользователь может «работать» на старой версии? – kabaehr

+0

Только проблема для конечного пользователя. Но я нашел ответ и напишу. –

ответ

1

После некоторого поиска, я нашел this, в котором объясняется, как кэш-бюст с SystemJs.

var systemLocate = System.locate; 
     System.locate = function(load) { 
     var System = this; 
     return Promise.resolve(systemLocate.call(this, load)).then(function(address) { 
      if(address.lastIndexOf("html.js") > -1) return address; 
      if(address.lastIndexOf("css.js") > -1) return address; 
      return address + System.cacheBust; 
     }); 
     }; 
     System.cacheBust = '?bust=' + Date.now(); 

     System.import('aurelia-bootstrapper'); 
Смежные вопросы