“成也asar,败也asar”。asar打包可以隐藏代码逻辑,减少文件数量,但是asar也带来了第三方资源加载失败的问题。在上一篇文字中,苏南大叔描述了:针对electron-packager,如何处理第三方资源。但是,也在文末留下了个伏笔,那就是:第三方资源定位位置做处理后,相关代码也要针对“是否是asar打包模式”进行区分处理。本文中要描述的就是:在代码层面上,如何区分是否运行于asar模式下。

判断依据的理论基础

electron程序的运行路径中,不能出现名为app.asar的文件夹名。这个论断,听起来应该是蛮新鲜的,但是大家可以自己亲身试一下看看,把自己写好的electron程序,放到一个名为app.asar的目录中,看看是否还能正常运行?

一定会显示功能异常的,连atom这种著名的electron程序,也出现了功能异常的情况。所以,苏南大叔推断:app.asar必然是个特殊的保留字。

苏南大叔:electron 如何区分是否为 asar 打包模式? - atom_error
electron 如何区分是否为 asar 打包模式?(图3-1)

不过上图中,atom的要加载的项目文件路径中有app.asar字样。而本文要说明的主旨意思是:程序本身的路径中,不能含有app.asar字样,稍稍有些区别。

相关文章

结论

electron集成swf播放器绿色版,为什么打包之后就不能正常加载插件的谜团,是不是可以解开了呢?

更多electron的经验文字,请点击查看苏南大叔的博客文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   electron    asar

本站的忠实读者小伙伴,正在阅读下面这些文章: