【问题标题】:How to Bundle multiple ScriptBundle in to a new ScriptBundle如何将多个 ScriptBundle 捆绑到一个新的 ScriptBundle 中
【发布时间】:2012-11-15 07:44:48
【问题描述】:

这就是我到目前为止所做的

bundles.Add(new ScriptBundle("~/bundles/WebformsJS").Include(
      "~/Scripts/WebForms/WebForms.js",
      "~/Scripts/WebForms/WebUIValidation.js",
      "~/Scripts/WebForms/MenuStandards.js",
      "~/Scripts/WebForms/Focus.js",
      "~/Scripts/WebForms/GridView.js",
      "~/Scripts/WebForms/DetailsView.js",
      "~/Scripts/WebForms/TreeView.js",
      "~/Scripts/WebForms/WebParts.js"));

bundles.Add(new ScriptBundle("~/bundles/MsAjaxJS").Include(
    "~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
    "~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));


bundles.Add(new ScriptBundle("~/bundles/MegaJS").
    .Include("~/bundles/WebformsJS")
    .Include("~/bundles/MsAjaxJS"));

然后我在 Site.Master 文件中渲染 MegaBundle,如下所示:

 <%: Scripts.Render("~/bundles/MegaJS") %> 

应用程序运行没有错误,但是当我查看页面源时,我可以看到包含

<script src="/bundles/MegaJS?v="></script>

如果您注意到版本是空白的,并且当我单击捆绑脚本时它是空白的

我的问题是: 1) 是否支持从其他捆绑包创建捆绑包 2)如果是!那么他们就是我可以效仿的榜样。

【问题讨论】:

  • 问题是,为什么要合并这两个捆绑包?我们有这样的情况,在某些页面上我们只需要 WebForms 包,而在其他页面上我们需要两者。但是将它们分开是有意义的,因为客户端可能已经拥有 webforms 包。至少在我们的情况下。
  • @Remy 我已将旧站点升级到 4.5,它使用自己的捆绑逻辑,并且具有从捆绑包制作捆绑包的功能。因此,为了减少修改遗留代码的工作量,我想知道是否支持该功能。

标签: c# asp.net .net webforms bundling-and-minification


【解决方案1】:

不,目前您不能在捆绑包中包含捆绑包,您只能包含真实资产。不过,这是我们在资产管理的待办事项清单上的内容。如果这是您想要的功能,您可以投票赞成 here

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2012-10-26
    相关资源
    最近更新 更多