我有ASP.NET Web表单项目,在Site.Master中我包含了几个jQuery库。例如。 jQuery,jQuery-UI,jQuery.validate等等。 Site.Master还具有“内置”(由Microsoft最初创建项目时)捆绑。因此,当我使用开发工具和网络捕获时,我看到在加载所有我的.js库之后,再次加载库/Scripts/jquery-1.7.1.js和/Scripts/jquery-ui-1.8.20.js。这搞砸了项目中的一些东西。所以我需要找出Bundling中最后两个.js库的加载位置;并评论他们(如果可能的话)。我不知道如何禁用整个捆绑或我会这样做。但现在我需要 - 至少 - “修复”这些.js被加载两次。 我应该在哪里查看解决方案?
答案 0 :(得分:1)
如果您使用的是ASP.NET Web窗体,则可以从App_Start文件夹中的BundleConfig类中删除Scripts等,如下所示:
using System.Web.Optimization;
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
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/WebFormsJs").Include(
"~/Scripts/WebForms/WebForms.js",
"~/Scripts/WebForms/WebUIValidation.js",
"~/Scripts/WebForms/MenuStandards.js",
"~/Scripts/WebForms/Focus.js",
"~/Scripts/WebForms/GridView.js",
"~/Scripts/WebForms/DetailsView.js",
"~/Scripts/WebForms/TreeView.js",
"~/Scripts/WebForms/WebParts.js"));
bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
"~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
}
}
只需删除对旧版本jQuery和jQuery UI的引用 - 或者删除Site.master
中对新版本的引用,并将新包添加到此配置文件中。