18.3.8日报

1,完成asar功能。这个功能其实也简单,就是一个虚拟文件系统。

electron是注册了个c++对象,在node启动的时候,会hook掉原生node的fs对象(asar_init.js和asar.js里实现hook),把文件读取遍历这些,先走一遍js层的hook代码,此代码调用了c++,c++会读这个asar文件,此文件头部有个json串,记录了文件偏移。所以之后node读的时候都是通过json和偏移来读文件

目前还有点小功能没完成,就是把miniblink里的读写文件也走asar系统

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券