捆绑脚本文件未呈现.

Bil*_*ani 30 asp.net-mvc jquery resourcebundle

脚本文件名:

jquery.transit.min.js
Run Code Online (Sandbox Code Playgroud)

该文件位于Scripts文件夹中,

bundles.Add(new ScriptBundle("~/bundles/jquery")
       .Include("~/Scripts/jquery-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryui")
       .Include("~/Scripts/jquery-ui-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryval")
       .Include("~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*"));

bundles.Add(new ScriptBundle("~/bundles/jtransit")
       .Include("~/Scripts/jquery.transit*"));
Run Code Online (Sandbox Code Playgroud)

在我的View,

@Scripts.Render("~/bundles/jquery","~/bundles/jtransit")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
Run Code Online (Sandbox Code Playgroud)

渲染 HTML

<script src="/Scripts/jquery-1.8.3.js"></script>
<script src="/Scripts/jquery-ui-1.9.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
Run Code Online (Sandbox Code Playgroud)

jquery.transit.min.js不会被渲染.我错过了什么?

ngm*_*ngm 48

我想这将是因为你只有你文件的.min版本.

从您的输出中我可以看到您正在运行您的站点的调试版本.我猜这样捆绑器正在寻找一个非缩小文件.

如果您要进行发布版本,那么它将捆绑在OK中.

我建议获取一个非缩小版本的传输文件,并将其包含在您的Scripts文件夹中.如果做不到这一点,只需制作缩小版本的副本,但文件名中没有.min.

  • 不敢相信ASP.NET使用那个技巧.没有错误,只是默默地失败! (2认同)

rae*_*ae1 17

从入门开始MVC4,在调试模式下将忽略 JavaScript文件或CSS文件的任何最小化版本.正如ngm建议的那样,您需要重命名文件,

jquery.transit.min.js
Run Code Online (Sandbox Code Playgroud)

至,

jquery.transit.js
Run Code Online (Sandbox Code Playgroud)

或者,你可以修改bundles.IgnoreList,以允许最小化文件被渲染,如图所示这里.


小智 7

我必须在Application_Start中执行此操作:

BundleTable.EnableOptimizations = true;
Run Code Online (Sandbox Code Playgroud)