ASP MVC 4捆绑包不加载自定义js脚本

时间:2014-11-20 20:45:47

标签: javascript jquery asp.net-mvc-4 bundle

在我们的一个页面上,我们将一些不合理的jquery推入一个脚本标记中。我试图通过将代码分成几个单独的.js文件并使用ASP MVC 4 ScriptBundle来稍微清理一下。

但是,Chrome只显示正在加载的一个脚本,并且该脚本有一个看起来有点像GUID的奇怪名称。

enter image description here

如果我选择这个脚本,我可以看到只加载了包中的第一个.js文件。完全没有第二个文件。

BundleConfig

public class BundleConfig
{
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/AgentTransmission").Include(
                    "~/Scripts/AgentTransmission/SetFields.js",
                    "~/Scripts/AgentTransmission/MarketingDivision.js"));
    .
    .
    }
 }

Scripts文件夹的屏幕截图

enter image description here

.cshtml创建文件(查看)

@model MonetModelFromDb.Models.AgentTransmission

@{
    ViewBag.Title = "Create new Agent";
}


<div>

  <meta http-equiv="cache-control" content="max-age=0" />
  <meta http-equiv="cache-control" content="no-cache" />
  <meta http-equiv="expires" content="0" />
  <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
  <meta http-equiv="pragma" content="no-cache" />

    <script src="@Url.Content("~/Scripts/jquery.maskedinput-1.3.1.js")" type="text/javascript"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment-with-locales.min.js"></script>
    @Scripts.Render("~/bundles/AgentTransmission")

呈现HTML

<div>

  <meta http-equiv="cache-control" content="max-age=0" />
  <meta http-equiv="cache-control" content="no-cache" />
  <meta http-equiv="expires" content="0" />
  <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
  <meta http-equiv="pragma" content="no-cache" />

    <script src="/Scripts/jquery.maskedinput-1.3.1.js" type="text/javascript"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment-with-locales.min.js"></script>
    <script src="/bundles/AgentTransmission?v=2D1TPLuuUcxrXmQ8AbdEoyTUVF8BEXja9e0nXKAzs9Q1"></script>

修改

仅供参考我也在DEBUG模式下运行

2 个答案:

答案 0 :(得分:0)

当您“发布”您的项目并且所选的“配置”为“发布”时,系统会将您的捆绑包合并到一个文件中,并使用类似“GUID”的名称。如果使用“调试”配置发布或构建项目,它会将捆绑包中的每个单独文件作为HTML中的单独文件。

答案 1 :(得分:0)

RegisterBundles()

的末尾添加了以下语句
BundleTable.EnableOptimizations = false