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