ASP MVC4使用默认包而不是我自己的包?
问题描述:
我在我的Application_Start()下面的代码:ASP MVC4使用默认包而不是我自己的包?
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等的包。这些不是我创建的包,因此它们都来自哪里。我在这里完全困惑。找不到可能导致创建这些包的任何内容。
答
我想你可能会看到一些默认的排序约定,而不是捆绑中的实际包含文件。我的预感是你正在看FileSetOrderList,它基本上为一些通常需要优先考虑的js框架(即jquery)做了一些订单推广。
您可以通过在您的捆绑包集合上调用ResetAll()
来摆脱所有默认约定。但是一般来说,如果你要包含* .js,它们只能帮助隐式排序。