gpt4 book ai didi

asp.net-mvc - Debug模式下的 ASP.NET 4.5 捆绑 - 陈旧资源

转载 作者:行者123 更新时间:2023-12-05 01:18:11 25 4
gpt4 key购买 nike

有什么方法可以让 ASP.NET 4.5 Bundling 功能在 中运行时生成 GUID 作为查询字符串的一部分调试 模式(例如捆绑关闭)。

问题是在本地开发时,脚本/CSS文件是这样生成的:

<script type="text/javascript" src="/Content/Scripts/myscript.js" />

因此,如果我更改该文件,我需要进行硬刷新(有时几次)以使浏览器接收该文件 - 烦人。

有什么办法可以让它像这样渲染:
<script type="text/javascript" src="/Content/Scripts/myscript.js?v=x" />

哪里 x是一个 GUID(例如总是唯一的)。

想法?

我在 ASP.NET MVC 4 上。

最佳答案

在按照上面的其他答案修补 NuGet 包之前,现在我最终使用了与测试版 NuGet 包相同的包装器代码:

private static IHtmlString JsUnbundled(this HtmlHelper htmlHelper, string bundlePath)
{
var jsBuilder = new StringBuilder();
foreach (var file in BundleResolver.Current.GetBundleContents(bundlePath))
{
var tagBuilder = new TagBuilder("script");
tagBuilder.Attributes["src"] = file.AddCacheKey(); // add GUID
tagBuilder.Attributes["type"] = "text/javascript";
jsBuilder.AppendLine(tagBuilder.ToString());
}
return MvcHtmlString.Create(jsBuilder.ToString());
}

然后我有另一个 HTML 助手检查是否调试,然后使用上面的 - 否则使用 Scripts.Render .

显然,这不会对文件进行任何类型的哈希处理 - 它始终会请求文件。但我不介意这一点,因为它仅用于调试。

关于asp.net-mvc - Debug模式下的 ASP.NET 4.5 捆绑 - 陈旧资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com