0

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

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

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

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

4

2 回答 2

0

回答您的问题

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

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

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

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

更多关于 ASP.NET 捆绑的阅读

是的,还有其他软件包,例如YUICompressor。您可以在NuGet中搜索它们,但我一直使用内置捆绑软件,因此无法评价它们有多好。

于 2013-09-19T20:31:50.280 回答
0

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

       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”函数,但我喜欢用包含来指定它。

于 2013-09-20T09:44:14.163 回答