【发布时间】:2016-12-02 20:42:08
【问题描述】:
我有一个使用 python django 和 angularJS 构建的内部团队网站。当网站上的数据/内容较少时,该网站运行良好。
当网站滚动并加载更多数据时。它变得缓慢。
当我们尝试打开任何modal 或尝试在textarea 中写入文本时,就会出现主要问题。写入时文本滞后,modal 打开非常缓慢。
我使用了嵌套ng-repeat,有5个嵌套ng-repeat。
<div ng-repeat="x in xyz">
<div ng-repeat="y in xyz">
</div>
<div ng-repeat="img in xyz">
</div>
<div ng-repeat="y in xyz">
<div ng-repeat="z in xyz">
</div>
</div>
</div>
以上是网站中使用的结构示例。 上面的 sn-p 在整个页面中重复了大约 100 次。 这些具有图像、表单、文本、输入、用户标记,如 facebook。 ngCacheBuster、ui.bootstrap、ngTagsInput、ui.mention、monospaced.elastic 这些是网站中使用的外部库。 该网站是使用引导程序构建的。 网站变重是否有特定原因。 每个图像的大小平均约为 100kb。
【问题讨论】:
-
这个问题太笼统了。从您的描述中,我想到了几种可能的性能影响。这包括从缺少数据库索引到 AngularJS 问题到太多的大图像。此外,您还没有提到您是否发现它在开发或生产模式下很慢。请注意,在开发模式下,collectstatic 没有运行,CSS/JS 资源没有被缩小,缓存也没有生效。 developers.google.com/speed/pagespeed/insights 可能有助于解决生产问题。
标签: javascript jquery angularjs django twitter-bootstrap