c# - DevExpress MVC 控制每个页面加载生成 2mb 的 javascript

标签 c# javascript asp.net-mvc devexpress onload

我们已经开始使用 DevExpress MVC 控件,这需要在我们的 Site.Master 中添加以下代码:

<% Html.DevExpress().RenderScripts(Page,
       new Script { ExtensionSuite = ExtensionSuite.GridView },
       new Script { ExtensionSuite = ExtensionSuite.HtmlEditor },
       new Script { ExtensionSuite = ExtensionSuite.Editors },
       new Script { ExtensionSuite = ExtensionSuite.NavigationAndLayout },
       new Script { ExtensionSuite = ExtensionSuite.Chart },
       new Script { ExtensionSuite = ExtensionSuite.Report }
 ); %>

但这会通过名为 DXR.axd 的处理程序呈现一个巨大的 2mb javascript 文件。当使用 Firefox 时,这个 javascript 太大,并且将页面的加载时间从 ~500 毫秒增加到 ~5,000 毫秒(我在之前和之后对其进行了计时)。

使用 Chrome,加载时间约为 750 毫秒

这会严重影响性能,并在页面渲染时导致非常明显的暂停。 Firefox 报告 DOMContentLoaded 事件需要 5 秒才能触发(因为加载和解析 2mb 的 javascript 需要很长时间)

我该如何解决这个问题?

我注意到他们自己的网站http://mvc.devexpress.com有完全相同的问题:如果您查看源代码并查找“DXR.axd”,然后下载该文件,它会更大,为 2.6mb,而且它们在 Firefox 中的加载速度也非常慢

最佳答案

我想他们创建一个动态js文件而不是使用静态js文件只是为了避免人们复制他们的js文件。然而,市场上还有其他控件不存在此问题。如果您需要一个可以在那里找到的特定控件...那么您必须克服这个问题...否则请更改为另一个控制套件。然而,考虑到更多的控件是“开箱即用”的,只需编写一些代码即可使用,您的性能会下降,因为每个控件都带有一些您实际上不需要的功能.

关于c# - DevExpress MVC 控制每个页面加载生成 2mb 的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653237/

相关文章:

javascript - 如何从一个元素的 nextAll() 检索列表中检索 attr 值?

c# - 为什么我的 ASP.NET 操作寻找错误的 View ?

c# - .NET 中不同运行时间执行的相同正则表达式

c# - 主窗体关闭后应用程序进程不退出 - 使用 ApplicationContext

c# - 将 Json 字符串反序列化为多个输出

javascript - URL 中的日期值因 MVC GET 请求而损坏

javascript - 我如何使用 JavaScript 验证表单

html - 将 HTML 加载到页面中,首先获取为文本

asp.net-mvc - 部署到 Azure 失败,需要调试帮助

c# - 如何在数组中搜索特定字符以及如何在 C# 中操作该索引