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


C:\Users\[userName]\AppData\Local\[appName]-updater\pending下载完成后会校验新版本安装文件哈希值是否与服务器上的安装文件的哈希值相同 。
任务栏快捷方式如果用户把应用程序的快捷方式固定到任务栏 , 这个快捷方式的存放路径为:
C:\Users\[userName]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar在一些特殊的情况下 , 我们可能要更新这个快捷方式的目标程序 , 比如用户先安装了 32 位的应用程序 , 又安装 64 位的应用程序 , 此时用户固定在任务栏的图标指向的目标程序路径就是错的了 。
Electron 为我们提供了读写快捷方式的 API:shell 模块下的 readShortcutLinkwriteShortcutLink , 开发者可以使用这两个 API 来更新任务栏上的快捷方式 。
Electron npm 包的特征Electron npm 包会被安装到工程的如下目录中:
yourSolutionDir\node_modules\electron这个目录下 dist 子目录中存放着 Electron 的二进制文件 , 我们开发调试应用时 , 启动的就是下面这个应用程序:
yourSolutionDir\node_modules\electron\dist\electron.exe这个包的导出文件是 index.js , 这个文件并没有什么特殊的逻辑 , 只是返回了上面 electron.exe 的路径 。如果你还记得我们在“如何开发 Vite3 插件构建 Electron 开发环境”章节中介绍的知识 , 我们就是通过require("electron")获取 electron.exe 的路径的 , 如下代码所示:
let electronProcess = spawn(require("electron").toString(), [], {});安装 Electron npm 包时 , npm 会在如下路径下载 Electron 的二进制资源:
https://github.com/electron/electron/releases/download/v20.1.3/electron-v20.1.3-win32-x64.zip这个地址包含如下了三个部分:

  • 镜像部分:https://github.com/electron/electron/releases/download/ 。
  • 版本部分:v11.1.0/ 。
  • 文件部分:electron-v11.1.0-win32-x64.zip 。
这三部分联合起来最终构成了下载地址 , 每个部分都有其默认值 , 也有对应的重写该部分值的环境变量 。
  • 镜像部分的环境变量:ELECTRON_MIRROR 。
  • 版本部分的环境变量:ELECTRON_CUSTOM_DIR 。
  • 文件部分的环境变量:ELECTRON_CUSTOM_FILENAME 。
如果你因为网络环境问题而无法成功安装 Electron npm 包 , 那么可以尝试设置 ELECTRON_MIRROR 的环境变量为https://npm.taobao.org/mirrors/electron/ , 这是阿里巴巴团队为国内开发者提供的镜像地址 。
npm 会首先把下载到的 Electron 可执行文件及其二进制资源压缩包放置到如下目录中:
C:\Users\ADMINI~1\AppData\Local\Temp文件下载完成后 , npm 会把它复制到缓存目录中以备下次使用 。默认的缓存目录为:
C:\Users\[your os username]\AppData\Local\electron\Cache开发者可以通过设置名为 electron_config_cache 的环境变量来自定义缓存目录 。知道了缓存目录的位置之后 , 开发者就可以先手动把 Electron 可执行文件及其二进制资源压缩包和哈希文件放置到相应的缓存目录中 。这样再通过 npm install 命令安装 Electron 依赖包时 , 就会先从你的缓存目录里获取相应的文件 , 而不是去网络上下载了 。这对于工作在无外网环境下的开发者来说 , 无疑是一种非常有价值的手段 。
需要注意的是缓存目录子目录的命名方式是有要求的 , 如下所示:
//二进制包文件的路径[你的缓存目录]/httpsgithub.comelectronelectronreleasesdownloadv11.1.0electron-v11.1.0-win32-x64.zip/electron-v9.2.0-win32-x64.zip//哈希值文件的路径[你的缓存目录]/httpsgithub.comelectronelectronreleasesdownloadv11.1.0SHASUMS256.txt/SHASUMS256.txt

经验总结扩展阅读