electron制作安装包_Electron 安装过程深入解析

8e0dda642fd93fec8a0de25dfdb018ae.png

作者:前端之巅

转发链接:https://mp.weixin.qq.com/s/PBZn1Pu7wzEt8XW4nu47CA

1.1 安装 Electron 依赖包

开发者往往通过 npm install(或 yarn add)指令完成为 Node.js 工程安装依赖包的工作,安装 Electron 也不例外,下面是 npm 和 yarn 的安装 Electron 依赖包的指令:

npm install electron --save-devyarn add electron --dev

官方推荐我们把 electron 依赖包安装为开发依赖(devDependencies),这实际上是为了将来制作应用程序安装包时,避免把 electron 包和其可执行文件包装两次。这部分内容后文我们会详细讲解。

如果你希望观察 npm install 指令的具体执行细节,可以为其添加两个参数,如下所示:

npm install electron --save-dev --timing=true --loglevel=verbose

通过以上指令安装 Electron 依赖包,你会观察到整个安装过程的执行情况日志,这里我截取几个重要的日志分析一下。

npm http fetch GET 200 https://registry.npm.taobao.org/electron 125ms

这是 npm 通过 http 协议获取 electron 包的注册信息的日志,请求上述地址(我用的是 npm 淘宝源)将得到一个 json 响应,json 中包含了 electron 的所有版本的版本信息,如果安装时我们没有为 electron 指定版本号,将安装最新的版本。

> electron@9.2.0 postinstall D:ElectronDeepDivecapture1installode_moduleselectron> node install.js

这是 Electron 依赖包安装完成后,npm 执行其依赖包内定义的 postinstall 钩子的日志。npm 包管理文档为 npm 包定义了一系列的钩子,postinstall 钩子会在 npm 包安装完成后被执行,除了 postinstall 钩子之外,常用的还有如下这些钩子:

  • preinstall 包安装之前执行;
  • postuninstall 包被卸载之后执行;
  • preuninstall 包被卸载之前执行;
  • poststart 当 npm start 执行后触发;
  • poststop 当 npm stop 执行后触发;
  • posttest 当 npm test 执行后触发;

详细的文档请参阅:

https://docs.npmjs.com/misc/scripts

postinstall 钩子定义在 Electron 包内的 package.json 中,代码如下:

"scripts": {"postinstall": "node install.js"}

install.js 程序是 Electron 包内的一个重要程序,用于下载 Electron 的可执行文件及相关资源,下一小节我们将讲解 Electron 可执行文件的下载过程。

1.2 下载 Electron 的二进制文件

在 install.js 中,程序获取了当前操作系统的版本,并通过如下代码下载 Electron 的二进制文件与相应的资源:

downloadArtifact({version,artifactName: 'electron',force: process.env.force_no_cache === 'true',cacheRoot: process.env.electron_config_cache,platform: process.env.npm_config_pl
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值