繁体   English   中英

如何找出为什么Javascript下载如此缓慢?

[英]How to find out why Javascript is downloading so slowly?

我有一个ASP.NET MVC项目,它的运行速度与糖蜜一样慢。 我在一个特定的呼叫中打开了Fiddler,并发现了至少可以说有很多改进空间的几个呼叫:

在此处输入图片说明

我理解的蓝线是对我的控制器的调用,并且我知道去哪里可以优化这些东西。 但是我看到了一堆绿线(我认为这是指javascript),并且这些绿线也花费了很长时间。 我必须假设jQuery和Kendo脚本通常不需要4到6秒钟的时间就可以翻转,因此我们的项目代码中一定有某些东西会导致速度变慢。 但是,如何跟踪需要优化的代码?

编辑: @DaggNabbit在下面的注释中指出,缓慢是因为这些Javascript是使用cachebuster参数调用的,因此每次调用都将重新下载它们! 但是我在代码中的任何地方都看不到要显式添加缓存无效化器的地方。 例如:

<script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
...
@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile")

我确实不是UI专家,但是我看不到cachebuster的来源。 还有其他想法吗?

为了提高性能,您可以使用javascript闭包和css闭包来负责将所有.js文件绑定到一个文件中,并将所有css文件绑定到另一个文件中,这样会增加加载时间。

@DaggNabbit正确识别的问题是正在使用cachebuster参数调用javascript。 我已经邀请他发布他的答案作为正确答案。 当他这样做时,我会给他答案。

同时,如果您对为何插入cachebuster感兴趣,请参见此处

我建议将所有的javascript捆绑到一个Compressed.js文件中,并将所有的CSS文件捆绑到一个Compressed.css文件中。 这将减少加载时间。

当前,这需要4到6秒钟,因为js / css文件等待另一个文件完全加载,然后向服务器发出自己的请求以进行处理。 当在页面加载中调用控制器时,您还需要在查询中优化代码。

您将获得免费的dll进行压缩并将所有js / css文件捆绑为一个压缩文件。

希望你明白我的意思。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM