我们已经开始使用 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/