大型 Meteor 应用程序在初始加载中花费太多时间



我正在研究Meteor应用程序(电子商务网站(,变得非常大。查看主页的静态部分几乎需要 9 秒,直到它只显示白/空白屏幕。之后,它开始显示来自DB(mongoDB(的数据。带有数据的整个站点需要~24秒才能到达客户端。我认为整个捆绑包太大了,这就是为什么下载需要更多时间的原因。它导致9秒的白屏。任何解决方案的家伙。提前感谢!

Alraedy 尝试过:1. 快速渲染(流路由器订阅(包2. 应用缓存包3. 查询优化/索引4. 删除了全局订阅5. 通过发布/订阅发送最少的数据6. this.unblock(( 用于出版物7.不将文件保存在数据库中,而是保存url

您正在开发一个电子商务网站,因此您可能与您的网站捆绑了一个巨大的管理模块。您应该考虑将管理模块构建为一个单独的 Meteor 应用程序,与电子商务网站共享相同的 Mongo DB 集合。使用此方法可以显著减小应用的大小。您可以在此处找到更多详细信息

您还应该非常小心您的订阅,并在服务器端发布上使用分页,只订阅实际需要的数据

对于初学者,尝试删除不再被任何前端代码使用的未使用的包。检查您的整个包.json 和所有导入。

减小所有订阅的大小,您可能有大量包含整个或太大文档的订阅,这在开发时很容易,但在生产中却是矫枉过正。尝试将字段和加载的对象数量限制为您为用户可视化的内容。

不要等到所有订阅都加载finsich后再显示某些内容,加载网站及其设计已经,但仅在确实需要动态显示数据的部分上显示"加载"图标。

确保您的 JavaScript 在发布之前被缩小,这样可以节省大量带宽。

实现这些后,您的加载时间应该会减少。

从浏览器的调试器提供详细的网络分析也可能有助于发现问题。

最新更新