Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 大型流星应用程序初始加载时间过长_Meteor_Bundle - Fatal编程技术网

Meteor 大型流星应用程序初始加载时间过长

Meteor 大型流星应用程序初始加载时间过长,meteor,bundle,Meteor,Bundle,我在工作的流星应用程序(电子商务网站),变得非常大。浏览主页的静态部分几乎需要9秒钟,直到它只显示白色/空白屏幕。之后,它开始显示来自DB(mongoDB)的数据。整个站点的数据需要24秒才能到达客户端。我认为整个包太大了,这就是为什么下载需要更多时间的原因。它会造成9秒的白屏。任何解决方案,伙计们。提前谢谢 Alraedy Tried: 1. Fast Render(Flowrouter subscriptions) package 2. Appcache package 3. Query O

我在工作的流星应用程序(电子商务网站),变得非常大。浏览主页的静态部分几乎需要9秒钟,直到它只显示白色/空白屏幕。之后,它开始显示来自DB(mongoDB)的数据。整个站点的数据需要24秒才能到达客户端。我认为整个包太大了,这就是为什么下载需要更多时间的原因。它会造成9秒的白屏。任何解决方案,伙计们。提前谢谢

Alraedy Tried: 1. Fast Render(Flowrouter subscriptions) package 2. Appcache package 3. Query Optimization/Indexing 4. Removed global subscriptions 5. Sending minimal data via pub/sub 6. this.unblock() for publications 7. Not saving files in DB instead saving url's Alraedy尝试: 1.快速渲染(Flowrouter订阅)包 2.Appcache包 3.查询优化/索引 4.已删除全局订阅 5.通过发布/订阅发送最小数据 6.这是发布的.unblock() 7.不在数据库中保存文件,而是保存url
对于初学者,尝试删除任何前端代码不再使用的未使用包。检查整个package.json和所有导入

减少所有订阅的大小,可能会有很多订阅都包含完整的或太大的文档,这在开发过程中很容易,但在生产过程中会有过多的工作量。尝试将字段和加载对象的数量限制在您为用户可视化的范围内

在显示某些内容之前,不要等待finsih加载的所有订阅,加载网站及其设计,但只在需要动态显示数据的部分上显示“加载”图标

确保在发布javascript之前将其缩小,这样可以节省大量带宽

在实现这些之后,您的加载时间应该减少了


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

您正在处理一个电子商务网站,因此您的网站可能捆绑了一个庞大的管理模块。您应该考虑将ADMIN模块作为单独的流星应用程序与电子商务网站共享相同的Mango DB集合。使用这种方法,您可以大大减小应用程序的大小。你可以找到更多的细节


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

实现这些后,您的加载时间应该增加。
--我希望您的意思是减少:)是的,现在改变这一点。Meteor应该在生产中自动缩小js。只有当设置为生产时,它可能会被一些人忽略。我们中的任何人都无法真正帮助你,因为这可能是很多事情。您需要分析数据库、服务器,并深入了解浏览器的开发工具。e、 你的服务器有多快?你的数据库有多快?他们在同一地点吗?这是你的密码吗?数据太多?你的期望合理吗?仅仅根据查看页面所需的时间来判断是不可能的。使用chrome开发工具,您应该能够确定第一次页面加载的有效负载大小。那有多大?您的第一个订阅开始接收数据需要多长时间?(您可以通过查找websocket连接来检测)。是。管理端非常庞大,包括所有的报表和管理控件。我们正在考虑转移管理部分,但可能还有其他一些解决方案。谢谢你的回复。