关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
切换模式
返回顶部
首页
说说
开发
AI
游戏
资源
杂七杂八
首页
说说
开发
AI
游戏
资源
杂七杂八
关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
OPPO 快游戏在浏览器复现运行(二)之文件系统
开发
·
游戏
·
2025-08-18
LiesAuer
快游戏/快应用其实和普通的应用是类似的,除了不用安装以及环境不一样外,他们都是有“包”的概念,也就是启动快游戏后都是从包内读取并加载资源(js、其他资源)。 内容加载一般分几种情况: 1. 入口js、框架js等,一般是直接通过 require 方法加载 2. 固定资源(部分js、配置文件、初始资源等)一般是通过文件系统的 readFile 从包中加载 3. 热资源(动态资源、动态js等)一般是通过 xhr 远程加载 4. 某些框架也是会通过 readFile 进行远程加载 其中除了 readFile 加载本地资源外,require、readFile 远程加载都存在巨多坑,后面会专门讲。 根据快游戏的开发文档,文件系统是有同步+异步API的,因此在 web 端实现也得同步兼容,而浏览器自带的 [IndexedDB](https://developer.mozilla.org/zh-CN/docs/Web/API/IndexedDB_API "IndexedDB") 天生自带两套API,因此使用 [IndexedDB](https://developer.mozilla.org/zh-CN/docs/Web/API/IndexedDB_API "IndexedDB") 作为底层存储就成为了不二之选,当然也不可能纯从零手撸一个 FS 出来,中间层则使用 [ZenFS](https://github.com/zen-fs/core "ZenFS") 做链接,在此之上封装出整套 [文件管理器](https://developer.huawei.com/consumer/cn/doc/quickApp-References/quickgame-api-file-0000001084194212#section10341171144119 "文件管理器") API,也得益于 [ZenFS](https://github.com/zen-fs/core "ZenFS") 开发地完善,接口高度相似,因此封装起来没花费多少时间,而这里的坑也是目前来说最少的地方。其他的地方简直一言难尽:astonished:。 
快游戏
快应用
OPPO 快游戏在浏览器复现运行
如遇到文件无法下载,可右键复制链接打开标签页粘贴下载!
如果您觉得文章或项目对您有帮助,戳我请博主喝一杯咖啡叭!
正在加载验证组件...
取消回复
提交评论
瞅一瞅叭
收一个 Reqable 永久版订阅
最新评论
sineava: 大哥666,我就一直很好奇这Hoppscotch代理中间件咋写的...
laidou: 大佬求解释这个使用什么抓包的啊
Dog: hello,Can you please confirm if ...
追梦人: 大佬请问开纸飞机会员速度能提升吗?能的话我开一个,资源太多了,速...
追梦人: 要不内置个 sqlite-web?
cookee77: 好了 去github下载了 谢谢
cookee77: 请问为什么下载不了
关于站长
广东 佛山
liesauer#liesauer.net
LiesAuer
CC BY-NC-SA 4.0
粤ICP备16094588号-1
萌ICP备20245567号
茶
茶ICP备2025080027号
Theme
Jasmine
by
Kent Liao