【发布时间】:2015-11-20 16:38:43
【问题描述】:
我正在使用 Kendo UI 小部件,例如折线图、网格和日期选择器。我喜欢该产品,但是我注意到页面加载时存在延迟问题。
以网格为例;我首先看到一个标准的 HTML 表格加载,然后一秒钟后它被剑道网格重绘。
我的日期时间选择器、单选按钮等也是如此。这是我在我正在处理的仪表板的布局页面中按顺序使用的所有 css 和脚本的示例......我是不是捆绑的忠实拥护者,因此我将脚本保留在页面中。我知道如果你捆绑(如果它有效......)你会在线程(?)中获得轻微的性能,但我似乎总是对捆绑器有问题,所以我将它们留在页面中。是否有加载这些脚本的顺序,这样您就不会以用户身份看到元素的重绘?
页面顶部
<link href="~/Content/css/bootstrap.css" rel="stylesheet" />
<link href="~/Content/css/style.css" rel="stylesheet" />
<link href="~/Content/css/animate.css" rel="stylesheet" />
<link href="~/Content/css/animations.css" rel="stylesheet" />
<link href="~/Content/css/kendo/kendo.common.min.css" rel="stylesheet" />
<link href="~/Content/css/kendo/kendo.custom.css" rel="stylesheet" />
<link href="~/Content/fonts/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="~/Content/fonts/fontello/css/fontello.css" rel="stylesheet" />
<link href="~/plugins/magnific-popup/magnific-popup.css" rel="stylesheet"/>
<link href="~/plugins/owl-carousel/owl.carousel.css" rel="stylesheet"/>
<link href="~/plugins/iCheck-1.x/skins/square/square.css" rel="stylesheet" />
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
页面底部
@Scripts.Render("~/bundles/bootstrap")
<!-- Isotope javascript -->
<script type="text/javascript" src="~/plugins/isotope/isotope.pkgd.min.js"></script>
<!-- Owl carousel javascript -->
<script type="text/javascript" src="~/plugins/owl-carousel/owl.carousel.js"></script>
<!-- Magnific Popup javascript -->
<script type="text/javascript" src="~/plugins/magnific-popup/jquery.magnific-popup.min.js"></script>
<!-- Appear javascript -->
<script type="text/javascript" src="~/plugins/jquery.appear.js"></script>
<!-- Sharrre javascript -->
<script type="text/javascript" src="~/plugins/jquery.sharrre.js"></script>
<!-- Count To javascript -->
<script type="text/javascript" src="~/plugins/jquery.countTo.js"></script>
<!-- Parallax javascript -->
<script src="~/plugins/jquery.parallax-1.1.3.js"></script>
<!-- Knob -->
<script src="~/plugins/jquery.knob.min.js"></script>
<!-- Contact form -->
<script src="~/plugins/jquery.validate.js"></script>
<!-- SmoothScroll javascript -->
<script type="text/javascript" src="~/plugins/jquery.browser.js"></script>
<script type="text/javascript" src="~/plugins/SmoothScroll.js"></script>
<!-- Initialization of Plugins -->
<script type="text/javascript" src="~/Scripts/template.js"></script>
<script src="~/plugins/iCheck-1.x/icheck.min.js"></script>
<script src="~/Scripts/kendo/jszip.min.js"></script>
<script src="~/Scripts/kendo/kendo.all.min.js"></script>
<script src="~/Scripts/kendo/kendo.aspnetmvc.min.js"></script>
【问题讨论】:
-
研究使用 gulp 捆绑和最小化您的 javascript 文件,这将大大提高性能。您还可以将 kendo javascript 文件放在文档的头部,这将导致它在呈现页面之前尝试下载文件。发生的情况是您的页面在下载和执行 javascript 之前呈现,您可以通过确保首先加载 js 文件来解决这个问题。然后你可以把你的剑道设置代码放在正文中。
-
@Jdsfighter - 谢谢!这是一个 asp.net mvc5 应用程序,使用 bundler 是否类似于使用 gulp?
-
如果我记得的话,捆绑器的效率并不高,而且随着 .Net 和 VS 的较新版本,他们实际上已经远离了捆绑器,而是使用 gulp 来代替它。使用 VS2015,您可以获得原生 gulp、grunt 和 bower 支持。这意味着您可以创建自动下载、编译、捆绑和最小化您对项目构建的依赖的构建。它甚至会将它们复制到相应的文件夹中。
标签: javascript jquery kendo-ui