【发布时间】:2014-08-23 01:40:19
【问题描述】:
我搜索了 SO - 发现了许多相同的问题,但没有一个答案有帮助。
我已经建立了一堆网站,之前没有遇到过这个问题。
基本上,我的脚本包会为我的 javascript 文件夹中的每个文件生成 404。
我的结构(目前,我已经改变了很多!)看起来像这样:
我这样做是为了保证 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(这是我的意图)
更新
如果我 BundleTable.EnableOptimizations = true; 在我的捆绑包中,那么它全部被捆绑、缩小并且可以工作 - 尽管这对于开发调试来说很糟糕 - 到底是什么阻止了它在调试模式下工作?!
【问题讨论】:
-
这可能只是您的屏幕截图不匹配,但错误中列出的路径直接在 javascript 文件夹下显示您的脚本,而不是目录结构屏幕截图中显示的子文件夹。
-
两个屏幕截图都是按原样拍摄的。这就是超级奇怪..我会仔细检查以防万一..
-
是的 - 刚刚检查过,这正是它所显示的......
-
这些文件是否存在于由于不在项目中而被隐藏的javascript根文件夹中?
-
不。它列出的 .js 文件正是我的 javascript 文件夹结构中的文件。不确定它是否与配置中的某些处理程序有关,尽管也与这些处理程序有关
标签: asp.net asp.net-mvc bundling-and-minification