【问题标题】:Bundles Not Loading in ASP.NET MVC 4捆绑包未在 ASP.NET MVC 4 中加载
【发布时间】:2013-08-06 11:11:07
【问题描述】:

我在BundleConfig.cs中添加了bundle,如下图:

 bundles.Add(new ScriptBundle("~/bundles/angular").Include("~/Scripts/angular.min*"));

在 _Layout.cshtml 我有以下内容:

<body>
    @RenderBody()

    @Scripts.Render("~/bundles/jquery")

    @Scripts.Render("~/bundles/angular")

    @RenderSection("scripts", required: false)
</body>
</html>

在网络流量中它不显示角度文件。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您输入的文件名不正确

    ~/Scripts/angular.min*
    

    应该是

    ~/Scripts/angular.js
    

    .min 会自动添加到生产模式\

    Bundler not including .min files

    【讨论】:

    • 文件名为angular.min.js
    • 下载压缩文件和非压缩文件并放入文件夹
    • 这就是它的工作方式......或者只是将文件从 angular.min.js 重命名为 angular.js
    【解决方案2】:

    ASP.NET MVC 中的捆绑非常聪明,因为它了解 *.min 以及何时使用或不使用它。因此,如果您在捆绑包中执行此操作:

    bundles.Add(new ScriptBundle("~/bundles/angular").Include("~/Scripts/angular.js"));
    

    在调试模式下,它将向"/scripts/angular.js" 发送请求,在发布模式下,它将向"/scripts/angular.min.js" 发送请求

    为了从中受益,您应该将原始文件和缩小文件都放在您的脚本文件夹中。这样,当您调试时,您可以完全访问未压缩的源代码,并且在您的生产环境中,将加载优化的文件

    【讨论】:

    • 请记住,如果 .min 不存在于 unmified 文件中,内置的 mifier 将根据 unmified 文件为您完成。确实没有理由将缩小的文件放在未缩小的文件旁边,因为如果您将未缩小的文件更新到较新的版本但缩小的文件仍然是旧版本,有时这会引起很大的混乱。
    【解决方案3】:

    就我而言,问题出在 Global.asax.cs

    你需要有

    BundleConfig.RegisterBundles(BundleTable.Bundles);

    在您的 Application_Start() 中

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 2016-12-17
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      相关资源
      最近更新 更多