0

我知道当为 JavaScript 和 CSS 使用包时,Web 应用程序正在缓存包并为其使用缓存键,如下所示:

<script src="/bundles/sampleJs?v=h-HGvCLcx-0T1kG3DBKIVBtGxEhtfpONQl5b_7BQuSo1"></script>

如何以编程方式刷新缓存的包(或仅一个包)?

例如,如果我必须上传新的 CSS 更新 - 我想更新捆绑包而无需重新启动整个 Web 应用程序...

4

1 回答 1

0

您可以通过以下两种方式解决该问题:

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 加载的文件都不会被缓存。

urlArgs 的 RequireJS 文档

于 2015-01-01T04:27:21.063 回答