线上Electron应用具备哪些特征?

新用户购买《Electron + Vue 3 桌面应用开发》 , 加小册专属微信群 , 参与群抽奖 , 送《深入浅出Electron》、《Electron实战》作者签名版 。
  • 1等奖:《深入浅出Electron》+《Electron实战》
  • 2等奖:《深入浅出Electron》
  • 3等奖:《Electron实战》
抽奖活动是掘金组织的 , 仅限近几日加入微信群的新成员(目前人还不多) , 我负责抽奖、邮寄 , 2022年11月20日开始抽奖 。凡参与抽奖的读者都有机会中奖 。
在上一节中我们介绍了如何升级 Electron 应用 , 现在我们已经介绍完了如何开发一个 Electron 应用以及如何把 Electron 应用分发给用户 。如果按照一个产品的生命周期来考虑 , 那么我们现在面对的是如何观察、分析、调试线上应用了 , 如果你不了解 Electron 应用在用户侧的特征 , 那么就很难正确的分析线上应用的问题 。
本节我们通过介绍 Electron 应用安装目录的结构、缓存目录的结构、注册表信息、全量升级缓存目录的结构等信息来介绍线上应用的特征 , 除此之外我们还介绍了开发环境下 electron npm 包和 electron-builder npm 包的特征 , 以便于我们分析开发环境下的问题 。
应用程序安装目录如果你在使用 electron-builder 打包你的应用时设置了不允许用户修改应用程序安装目录 , 那么你的应用程序会安装在用户的如下目录中:
64 位应用程序的安装目录:C:\Program Files\\[yourAppName]32 位应用程序的安装目录:C:\Program Files (x86)\\[yourAppName]应用程序安装目录下的文件及其功用如下所示:
应用程序的安装目录├─ locales(Electron的多国语言文件)│ │ ├─ en-GB.pak(英国英语)│ │ ├─ en-US.pak(美国英语)│ │ ├─ zh-CN.pak(简体中文)│ │ ├─ zh-TW.pak(繁体中文)│ │ ├─ .....(其他国家语言文件 , 一般情况下可以删除)├─ resources(应用程序资源及编译后的源码)│├─ app.asar(编译后的源码压缩文档)│├─ app.asar.unpacked(编译后的源码未压缩文档)│├─ app(如果没有app.asar或app.asar.unpacked , 则编译后源码文档在此目录下)│├─ app-update.yml(应用程序升级相关的配置文件)│├─ .....(通过electron-builder配置的其他的额外资源)├─ swiftshader(图形渲染引擎相关库)├─ yourApp.exe(应用程序可执行文件 , 其实就是electron.exe修改图标和文件名后得来的)├─ UnInstall yourApp.exe(卸载应用程序的可执行文件)└─ ......(其他Electron应用程序使用的二进制资源)Electron 应用在 Mac 操作系统上安装之后 , 会以 app 应用的形式出现在用户的应用程序目录下 , 开发者可以通过右击菜单的显示包内容来查看应用程序内的文件组织情况 , 如下所示:
应用程序.app├─ Contents(根目录)│ │ ├─ _CodeSignature(存放应用程序的签名信息)│ │ ├─ Frameworks(存放Electron相关的二进制资源)│ │ ├─ Info.plist(应用程序的配置文件 , 包含应用程序名称、id、图标以及底层接口权限的信息)│ │ ├─ Resources(应用程序资源及编译后的源码)│ │ │ ├─ app-update.yml(应用程序升级相关的配置文件)│ │ │ ├─ app.asar(编译后的源码压缩文档)│ │ │ ├─ app.asar.unpacked(编译后的源码未压缩文档)│ │ │ ├─ app(如果没有app.asar或app.asar.unpacked文件 , 则编译后源码文档在此目录下)│ │ │ ├─ ...(Electron内置的多国语言文件)└─└─└─ ...(通过electron-builder配置的其他的额外资源)

经验总结扩展阅读