如何在不重新启动 Web 应用程序的情况下以编程方式使 JavaScript 和 CSS 包失效或刷新
How to programmatically invalidate or refresh JavaScript and CSS bundles without restarting the web application?
我知道,当将捆绑包用于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>
要求JS:
在 Javascript 中,如果你使用的是 RequireJS,你可以在 requirejs config 部分创建一个名为 urlArgs 的变量。
urlArgs: "cacheBustVersion=v1"
这会将"&cacheBustVersion=v1"附加到通过require调用加载的每个文件中。
开发过程中需要JS:
urlArgs: "cacheBustVersion=" Date.now()
这将确保不缓存通过requireJS加载的所有文件。
RequireJS Documentation for urlArgs
相关文章:
- CSS-如何定位内容数据标题
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- 在underscorejs模板中使用闭包
- CSS表格:从列平移到整个表格宽度
- webpack 将 CSS 作为字符串内联到 JS 捆绑包中
- 如何将(CSS/HTML)的包链接在一起.CSS/HTML->CSS/HTML->CSS/HTML
- 如何在不重新启动 Web 应用程序的情况下以编程方式使 JavaScript 和 CSS 包失效或刷新
- 在一个文件(包)中下载css和js
- 最好的做法是包含一个带有css/js的前端npm包
- 使用CSS模块和第三方软件包
- 如果到联机css文件的链接已失效,请使用本地css文件
- 闭包编译器的外部为基础CSS框架
- JavaScript+css处理-闭包工具/任何其他工具
- ASP MVC css/js包:长度&bundle参数名称"?v=1234567890"
- Google闭包编译器解析错误:“css({float:'left'})”的属性id无效
- 是我可以在不使用ASP.NET MVC的情况下呈现CSS/Javascript捆绑包的一种方式