我知道当为 JavaScript 和 CSS 使用包时,Web 应用程序正在缓存包并为其使用缓存键,如下所示:
<script src="/bundles/sampleJs?v=h-HGvCLcx-0T1kG3DBKIVBtGxEhtfpONQl5b_7BQuSo1"></script>
如何以编程方式刷新缓存的包(或仅一个包)?
例如,如果我必须上传新的 CSS 更新 - 我想更新捆绑包而无需重新启动整个 Web 应用程序...
我知道当为 JavaScript 和 CSS 使用包时,Web 应用程序正在缓存包并为其使用缓存键,如下所示:
<script src="/bundles/sampleJs?v=h-HGvCLcx-0T1kG3DBKIVBtGxEhtfpONQl5b_7BQuSo1"></script>
如何以编程方式刷新缓存的包(或仅一个包)?
例如,如果我必须上传新的 CSS 更新 - 我想更新捆绑包而无需重新启动整个 Web 应用程序...
ASP.NET:
如果 html 页面是在服务器端生成的,比如说 ASP.NET,我只需在 Global.asax 中定义一个静态全局,它将附加到所有资源。
<script src="/bundles/sampleJs?cacheBustVersion=" + <%= @cacheBustVersion %> ></script>
要求:
在 Javascript 中,如果您使用的是 RequireJS,您可以在您的 requirejs 配置部分创建一个名为 urlArgs 的变量。
urlArgs: "cacheBustVersion=v1"
这会将“&cacheBustVersion=v1”附加到通过 require 调用加载的每个文件。
开发过程中的RequireJS:
urlArgs: "cacheBustVersion=" Date.now()
这将确保所有通过 requireJS 加载的文件都不会被缓存。