gpt4 book ai didi

ASP.Net MVC 脚本包导致 404

转载 作者:行者123 更新时间:2023-12-04 04:17:08 25 4
gpt4 key购买 nike

我搜索过 SO - 发现了许多相同的问题,但没有一个答案有帮助。

我已经建立了一堆网站,以前没有遇到过这个问题。

本质上,我的脚本包会为我的 javascript 文件夹中的每个文件生成 404。

我的结构(目前,我已经改变了很多!)看起来像这样:

enter image description here

我这样做是为了保证 ASP.Net 不会改变顺序——我可以确保某些脚本领先于其他脚本。我一直都是这样做的,而且通常效果很好。

我的捆绑脚本 - 目前 - 是:

        public static void RegisterBundles(BundleCollection bundles)
{
bundles.FileSetOrderList.Clear();
// stlyes
StyleBundle cssBundle = new StyleBundle("~/bundles/css");
cssBundle.IncludeDirectory("~/content/css", "*.css", true);
bundles.Add(cssBundle);


//scripts
ScriptBundle jsBundle = new ScriptBundle("~/bundles/jscript");
jsBundle.IncludeDirectory("~/content/javascript", "*.js", true);
bundles.Add(jsBundle);

}

我已经尝试了一大堆虚拟路径。

我的 CSS 加载完美。我的 Js - 我得到一个 404 的列表;每个 */js 文件一个。

有任何想法吗?

我的控制台看起来像这样 - 这也告诉我 bundles.FileSetOrderList.Clear();实际上并没有清除它的列表,否则我会在 angular 之前使用 jquery(这是我的意图)

enter image description here

更新

如果我 BundleTable.EnableOptimizations = true;在我的捆绑包中,它都被捆绑、缩小并且可以工作——尽管这对开发调试来说很糟糕——到底是什么阻止了它在 Debug模式下工作?!

最佳答案

这篇文章似乎描述了同样的问题 ASP.Net MVC 5 sub-directory bundling issues并且是 Bundling 框架 1.1.1 版的一个已知问题。

如果您不想降级或升级到可以正常工作的版本,您始终可以选择将文件明确添加到您想要首先出现的包中。假设您将文件放在同一个文件夹中。

/javascript/lib/ascript.js
/javascript/lib/ascript2.js
/javascript/lib/jquery.js
/javascript/lib/yscript.js

您可以首先通过 Include() 明确您想要的文件,然后仍然通过 IncludeDirectory() 将其余文件合并在一起。
bundles.Add(new ScriptBundle("~/bundles/jscript").Include(
"~/javascript/lib/jquery.js",
.IncludeDirectory("~/javascript/lib", "*.js")

如果 jQuery.js 已首先显式添加,则捆绑足够智能,不会重复包含 jQuery.js。同样,如果您仍想将它们保留在子文件夹中,您可以对各种子目录进行多次 .IncludeDirectory 调用。

关于ASP.Net MVC 脚本包导致 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25457666/

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