是否有人知道可用于Meteor的任何资源,这些资源可帮助加载大型(20MB-80MB)资产以(主要)离线使用?
我目前的开发完全是在Vanilla JS(在客户端)上进行的,我正在考虑构建一个Meteor / React版本以提高性能和实践性.目前,我的应用程序可以在线和离线运行,并且在与MongoDB数据库存在连接时同步数据.最初,它还将大型资产动态加载到IndexedDB中以供脱机使用(实际上,视图层仅与本地数据库通信).整个系统使用WebSockets传输除初始负载之外的所有数据.大型资产的传输通过套接字稳定地加载,因此要花一些时间,但实际上可以下载,暂停和重新启动数据.
那里已经有可以处理这种事情的东西了吗?还是有更好的方法下载大数据文件并将其安装在本地数据库中?它可能是一个JSON文件,但我担心这样做会导致用户浏览器尝试一次加载所有数据而崩溃.任何方向或建议将不胜感激.谢谢.
解决方法:
据我了解,您正在尝试构建可以脱机工作的Web应用程序.在这种情况下,您应该寻找Progressive Web App (PWA).
实际上,PWA是一种标准,脱机工作是核心功能之一.实际上,PWA使用service worker在浏览器中缓存您的静态资产,并将其用于将来的加载.但是请记住,这项技术仍然是新技术,并且尚未成为Web开发的标准,因此您应该检查它是否可以在用户的浏览器上运行.
说到Meteor,已经有一些尝试使Meteor应用程序脱机工作.我知道的最好的两个是meteor-service-worker和GroundDB.第一个帮助您在浏览器中缓存应用程序源,最后一个帮助您的数据库位于客户端.它们都是很好的软件包,但是我认为它们还不成熟,因此在使用它们之前请三思.