加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net MVC Script Bundle导致404

发布时间:2020-12-16 04:30:46 所属栏目:asp.Net 来源:网络整理
导读:我搜索了SO – 找到了许多相同的问题,但没有一个答案有帮助. 我已经构建了一堆网站,之前没有遇到过这个问题. 基本上,我的脚本包为我的javascript文件夹中的每个文件生成404. 我的结构(此刻,我已经改变了一堆!)看起来像这样: 我这样做,所以我可以保证ASP.Ne
我搜索了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();实际上并没有清除它的列表,否则我会在角度之前得到jquery(这是我的意图)

UPDATE

如果我BundleTable.EnableOptimizations = true;在我的捆绑包中然后它全部捆绑,缩小和工作 – 虽然这很糟糕的开发调试 – 究竟是什么阻止它在调试模式下工作?!

解决方法

这篇文章似乎描述了同样的问题 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,它就不会加倍.同样,如果您仍希望将它们保留在子目录中,则可以在各个子目录上调用多个.IncludeDirectory.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读