首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有理由在ScriptBundle中使用多个BundleConfig包吗?

有理由在ScriptBundle中使用多个BundleConfig包吗?
EN

Stack Overflow用户
提问于 2016-03-13 13:58:38
回答 1查看 2.5K关注 0票数 8

在这里,默认的MVC5应用程序BundleConfig:

代码语言:javascript
复制
public class BundleConfig
{
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

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

        // Use the development version of Modernizr to develop with and learn from. Then, when you're
        // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"));
    }
}

如果只有一个包,其中包含所需的所有脚本,那么岂不是简单得多吗?像这样:

代码语言:javascript
复制
public class BundleConfig
{
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                    "~/Scripts/jquery-{version}.js",
                    "~/Scripts/jquery.validate*",
                    "~/Scripts/modernizr-*",
                    "~/Scripts/bootstrap.js",
                    "~/Scripts/respond.js"));
    }
}

,甚至更简单,比如这个(在脚本文件夹中,您只需要放置JS文件):

代码语言:javascript
复制
public class BundleConfig
{
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/scripts").Include("~/Scripts/*"));
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-13 14:24:01

如果只有一个包,其中包含所需的所有脚本,那岂不是简单得多吗?

这可能会稍微简化开发过程,因为您不需要寻找相应的包来包含。但让我们从另一个角度来看待这个问题。

asp.net论坛上,下面是witten:

捆绑和缩小是您可以在ASP.NET 4.5中使用的两种技术,以提高请求加载时间。捆绑和小型化通过减少对服务器的请求数量和减少所请求资产的大小(例如CSS和JavaScript)来改善负载时间。

所以我们进行捆绑,让事情更快地进行。如果您创建了一个不需要bootstrap.js的简单表单的页面,该怎么办?如果你对加速一切感兴趣,你为什么要加载它呢?

最好的性能选项是将所有可能的js文件组合放在一个单独的包中。每个页面只发出一个请求来获得它所需要的所有js。然而,这种方式是相当难以维持的。

所以,这取决于你决定你感兴趣的方面。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35971147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档