【问题标题】:ASP MVC4 Using default bundles rather than my own bundles?ASP MVC4 使用默认包而不是我自己的包?
【发布时间】:2012-09-05 11:43:00
【问题描述】:

我的 Application_Start() 中有以下代码:

    protected void Application_Start() {

        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        RoleConfig.CreateRoles();
        BundleConfig.RegisterBundles(BundleTable.Bundles);

和:

namespace WebUx {
    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/admin").Include(
                        "~/Scripts/admin/adminControl.js",
                        "~/Scripts/admin/adminModalOpen.js",
                        "~/Scripts/admin/adminModalOpen.js",
                        "~/Scripts/admin/getExamOptions.js",
                        "~/Scripts/admin/getParams.js",

当我使用调试中断 Application_Start 的第一行然后检查 BundleTable.Bundles 时,我看到 BundleCollection 中已经有条目。

这些条目不是我的条目,它们似乎与我的应用程序中的文件无关。相反,它们似乎是默认值。例如,我的应用程序只有一个 jQuery 文件,而 BundleCollection 有七个与 jQuery 相关的 js 文件。

有谁知道这些文件如何/为什么在 BundleCollection 中以及它们是如何设置的?

例如:我如何以及为什么找到名为 moo、dojo、prototype、ext 等的包。这些不是我创建的包,所以它们都是从哪里来的。我在这里完全糊涂了。找不到任何会导致创建这些捆绑包的东西。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 asp.net-optimization


    【解决方案1】:

    我认为您可能正在查看一些默认的排序约定,而不是包中实际包含的文件。我的预感是您正在查看 FileSetOrderList,它基本上为几个通常需要首先出现的知名 js 框架(即 jquery)进行了一些订单提升。

    您可以通过在您的捆绑包集合上调用 ResetAll() 来摆脱所有默认约定。但总的来说,如果您要包含 *.js,它们只会帮助隐式排序。

    【讨论】:

      猜你喜欢
      • 2011-11-26
      • 2023-03-10
      • 2012-09-24
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      相关资源
      最近更新 更多