困惑为什么 JavaScript Web 表单中的捆绑中断 ASP.NET 4.5

Confused why JavaScript Bundling breaks in Web Forms ASP.NET 4.5

我正在开发一个应用程序,之前的开发人员在许多不同的页面上加载了相同的脚本文件。

<script src="../scripts/helpers.js"></script>

现在我正在尝试将其加载到 BundleConfig.cs 文件中,以便在整个站点中都可以访问它,而不是在每个页面上都引用它。我还有BundleTable.EnableOptimizations = true;

bundles.Add(new ScriptBundle("~/bundles/helpers")
    .Include("~/scripts/helpers.js"));

Site.Master 中,我引用它(目前在头部,但也在正文中尝试了几个地方)作为:

<asp:PlaceHolder runat="server">
    <%: Scripts.Render("~/bundles/helpers") %>
</asp:PlaceHolder>

当我查看 Chrome 控制台中的网络选项卡时,它显示它捆绑了文件,但 none 功能正在运行。我似乎无法弄清楚为什么它在每个页面上调用时都能正常工作,但当它一次捆绑并始终存在时却无法正常工作。这是我第一次开发 .NET 应用程序,所以我一直在摸不着头脑。

不确定为什么会这样,主要是因为我不熟悉 ASP.NET。但是在脚本管理器中引用它使它起作用。

<asp:ScriptManager runat="server" EnablePageMethods="true" >
    <Scripts>
        <asp:ScriptReference Path="~/bundles/helpers" />
    </Scripts>
</asp:ScriptManager>