Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用angularjs和nodejs处理浏览器缓存?_Node.js_Angularjs - Fatal编程技术网

Node.js 如何使用angularjs和nodejs处理浏览器缓存?

Node.js 如何使用angularjs和nodejs处理浏览器缓存?,node.js,angularjs,Node.js,Angularjs,目前我正在使用angularjs和nodejs 我的服务器中有一些angular模板,当angular请求模板时,该模板将在浏览器中呈现,并由浏览器缓存,如果我正在更改模板的布局并更新服务器中的模板,现在,当用户重定向到同一模板时,浏览器会从浏览器缓存(旧缓存)中呈现模板 如何克服这个问题 注意:我不想清除整个浏览器缓存,因为它会影响我的网站整体性能 实用的 在某些未缓存的页面上,可以将?ver=附加到url以“断开”缓存。无论何时更改URL,都会导致浏览器重新加载资源。将?ver=添加到缓存的

目前我正在使用angularjs和nodejs

我的服务器中有一些angular模板,当angular请求模板时,该模板将在浏览器中呈现,并由浏览器缓存,如果我正在更改模板的布局并更新服务器中的模板,现在,当用户重定向到同一模板时,浏览器会从浏览器缓存(旧缓存)中呈现模板

如何克服这个问题

注意:我不想清除整个浏览器缓存,因为它会影响我的网站整体性能

实用的 在某些未缓存的页面上,可以将
?ver=
附加到url以“断开”缓存。无论何时更改URL,都会导致浏览器重新加载资源。将
?ver=
添加到缓存的资源中,并在需要重新加载时对其进行更改

有趣但不太实用 创建一个单页应用程序时,我使用。使用应用程序缓存,您可以要求页面重新加载资源。从链接页面:

// Check if a new cache is available on page load.
window.addEventListener('load', function(e) {

  window.applicationCache.addEventListener('updateready', function(e) {
    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      // Swap it in and reload the page to get the new hotness.
      window.applicationCache.swapCache();
      if (confirm('A new version of this site is available. Load it?')) {
        window.location.reload();
      }
    } else {
      // Manifest didn't changed. Nothing new to server.
    }
  }, false);

}, false);

注意,这只适用于Chrome、Firefox、Safari、Opera和IE10等新浏览器。我想提出一种新的方法

对于
?ver=
添加tmestamp作为值将确保url始终唯一,因此不会缓存