【问题标题】:Use MVC4 bundle tool or use a third part to bundle js and css使用 MVC4 捆绑工具或使用第三方捆绑 js 和 css
【发布时间】:2013-09-19 09:43:56
【问题描述】:

MVC 中包含的捆绑工具是否足够好? 他们有什么理由不使用它吗?

我一直在网络表单中使用 squishIt,从来没有遇到过任何问题。但是现在我在一个 MVC 项目上,我已经看到 MVC 有它自己的捆绑机制。 那我应该改用它吗?

它可以缩小和 gzip 吗?它是否像 squishIt 那样在合并文件上添加任何散列? 或者是否有任何其他解决方案可以使文件在发布时独一无二?

或者还有其他的可以用吗?

【问题讨论】:

  • 这真的取决于你问谁。我编写了一个捆绑和缩小的 IIS 模块。它插入到 ASP.NET 中,由于当时 MVC 不支持捆绑,我编写了它。你可以检查一下,看看你是否喜欢它。 nuget.org/packages/RxLoader

标签: asp.net-mvc asp.net-mvc-4 bundle minify bundling-and-minification


【解决方案1】:

回答你的问题

  1. 是的,它会缩小 / gzip
  2. 是的,它添加了一个查询字符串来防止缓存
  3. 而且(不是问题),但捆绑也适用于网络表单

我建议使用您觉得最舒服的任何东西。内置的捆绑软件很好用,也很容易使用,并且有很好的调试/实时部署功能。

我发现压缩器的压缩效率不如其他压缩器,但这通常不是问题,因为如果提供了 .min 文件,它会使用它。

假设您的包包含一个文件夹中的所有脚本,并且该文件夹具有jquery.1.10.2.jsjquery.1.10.2.min.js,它将在调试模式下使用未压缩文件,在发布模式下将使用.min 版本。然后,如果您删除 .min 文件,在发布模式下,捆绑包可能会稍大一些,但最终结果仍然是缩小的捆绑包。

More Reading on the ASP.NET Bundling

是的,还有其他软件包,例如 YUICompressor。你可以搜索NuGet 找到它们,但我一直使用内置捆绑,所以不能说它们有多好。

【讨论】:

    【解决方案2】:

    我发现输出顺序很奇怪。 我正在使用这些文件:

           bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Content/Script/json2.js",
                    "~/Content/Script/jquery-1.10.2.min.js",
                    "~/Content/Script/jqueryMobileCustom.js",
                    "~/Content/Script/jquery.mobile-1.3.2.min.js"));
    

    以下输出将是:

        <script src="/Content/Script/jquery-1.10.2.min.js"></script>
        <script src="/Content/Script/json2.js"></script>
        <script src="/Content/Script/jqueryMobileCustom.js"></script>
        <script src="/Content/Script/jquery.mobile-1.3.2.min.js"></script>
    

    错了!

    但如果我将“jquery-1.10.2.min.js”的名称更改为:“jquery.1.10.2.min.js”。它按原样工作。并随心所欲地订购它们。

    您知道在使用 scriptbundle 和 include 时是否可以禁用排序顺序吗?或者为什么它甚至会对 ' - ' 而不是 ' 做出反应。 ' 在我的文件中。

    我知道它是一个 'BundleFileSetOrdering' 函数,但我喜欢用包含来指定它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 2013-09-11
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多