我正在开发Angular2项目并遇到Chrome缓存HTML模板的问题。这对开发来说不是问题,因为我可以在Chrome开发模式下忽略缓存。
但这对客户及其用户来说真的很痛苦...... 我尝试将以下内容添加到templateURL:
std::istream_iterator<char> it(std::cin);
std::istream_iterator<char> end;
std::string data(it,end);
std::string delimiter = "#";
StringTokenizer strtok(data,delimiter);
std::string t1 = strtok.nextToken();
std::string t2 = strtok.nextToken();
更新的URL已添加到自动生成的JS中,但即使我单击Shift + F5,Chrome仍然使用缓存的JS。结帐屏幕截图:http://screencast.com/t/bc2nf4zVcm
有没有可靠的方法让它发挥作用?
由于
编辑:Decmber 2nd
我终于弄清楚那里发生了什么。尽管我已经在TS中添加了更改(并且自动生成的JS也已更新),但Chrome仍在从内存缓存中加载文件 - screencast.com/t/FGuaMXaKL。我一直在等待30分钟,但它仍然加载内存缓存文件。这是打算行为吗?怎么避免这个?
答案 0 :(得分:1)
我终于解决了一个问题,实际上是两个问题:
JS文件停留在Chrome内存缓存中。尽管它应该有点快速缓存JS被缓存了几个小时。并且 Ctrl / Shift + F5 不会影响内存缓存。此外,我尝试在根html页面中将缓存控制设置为“no-store,no-cache”。最后,我将额外的标头设置到IIS响应标头选项“Control-Cache:no-cache”中,现在它可以工作了。 JS文件存储在硬盘Chtome商店,304状态已收到,更改的文件已正确更新