很多时候,人们会将源设置为完全限定的URL,而不是下载脚本。如下所示:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.7/angular.min.js"></script>
但是浏览器会缓存此文件,还是在重置会话或加载新选项卡时必须重新下载。使用像Web Jars或Bower这样的东西来进行依赖关系管理会不会这样做吗?
答案 0 :(得分:1)
浏览器应该根据HTTP标头缓存javascript文件,就像任何其他资源一样。
通常,您引用的CDN托管文件的缓存时间较长:
$ curl -I https://ajax.googleapis.com/ajax/libs/angularjs/1.3.7/angular.min.js
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: text/javascript; charset=UTF-8
Last-Modified: Mon, 15 Dec 2014 23:03:29 GMT
Date: Tue, 16 Dec 2014 20:07:10 GMT
Expires: Wed, 16 Dec 2015 20:07:10 GMT
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 1; mode=block
Cache-Control: public, max-age=31536000
Age: 61071
Alternate-Protocol: 443:quic,p=0.02
Transfer-Encoding: chunked