在我的_Layout视图中,我包含以下scriptbundle:
bundles.Add(new ScriptBundle("~/bundles/js").Include(
"~/Scripts/jquery.min.js",
"~/Scripts/jquery-ui.min.js",
"~/Scripts/bootstrap.min.js",
"~/Scripts/jquery.flot.categories.js",
"~/Scripts/jquery.flot.js",
"~/Scripts/jquery.flot.min.js",
"~/Scripts/jquery.flot.orderBars.js",
"~/Scripts/jquery.flot.pie.js",
"~/Scripts/jquery.flot.resize.js",
"~/Scripts/graphtable.js",
"~/Scripts/fullcalendar.min.js",
"~/Scripts/chosen.jquery.min.js",
"~/Scripts/autoresize.jquery.min.js",
"~/Scripts/jquery.autotab.js",
"~/Scripts/jquery.jgrowl_minimized.js",
"~/Scripts/jquery.dataTables.min.js",
"~/Scripts/jquery.stepy.min.js",
"~/Scripts/jquery.validate.min.js",
"~/Scripts/jquery.cookie.js",
"~/Scripts/raphael.2.1.0.min.js",
"~/Scripts/justgage.1.0.1.min.js",
"~/Scripts/glisse.js",
"~/Scripts/styleswitcher.js",
"~/Scripts/moderniz.js",
"~/Scripts/jquery.sparkline.min.js",
"~/Scripts/slidernav-min.js",
"~/Scripts/jquery.fancybox.js",
"~/Scripts/main.js",
"~/Scripts/application.js",
"~/Scripts/excanvas.min.js",
"~/Scripts/float.settings.infobox.js"
));
事情是;当我加载页面并查看网络流量时,我看到首先加载了jquery-ui.min.js(在jquery.min.js之前)!
以下是加载顺序:
我认为脚本会按照我指定的顺序加载。我错了吗?如果是这样,我应该如何以正确的顺序加载它们?
编辑: 我尝试添加自定义排序,如下所述: http://stevescodingblog.co.uk/changing-the-ordering-for-single-bundles-in-asp-net-4/
但是在构建项目时出现以下错误: 错误1'Namespace.AsIsBundleOrderer'未实现接口成员'System.Web.Optimization.IBundleOrderer.OrderFiles(System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable)'
答案 0 :(得分:0)
可能导致此问题的一些事情:
ASP.NET Web Optimization Framework的Buggy版本。更新至1.1.3或更高版本。
显式名称始终在符号名称之前处理。
Knockout-jqueryui.js名称中没有版本。这取决于jQuery和jQuery UI。这两个都有他们名字的版本。如果你使用像jQuery- {version}这样的符号名称来引用这些库,因为knockout-jqueryui是显式命名的,它将在第一遍中加载 - 在它的依赖之前。
要么明确命名版本,要么将版本号捏合到依赖库名称中,并使它们都符号化。