Electron 应用打包

本文详细介绍了Electron应用如何使用asar打包,包括生成asar包的步骤、asar包的读取方式(Node API和Web API)、asar包的使用限制以及如何处理未打包的文件。asar是一种将应用文件合并成单个档案的格式,支持在不解压的情况下读取文件,但在文件修改、工作目录设置等方面存在限制。
摘要由CSDN通过智能技术生成

为舒缓 Windows 下路径名过长的问题 issues,稍微加快 require 的速度以及简单隐匿源代码,我们可以选择把应用打包成 asar 档案文件,这只需要对源代码做一些很小的改动。大部分用户可以轻松实现这个功能,因为它在 electron-packagerelectron-forgeelectron-builder 中都得到了支持,开箱即用。

生成asar包

asar 是一种将多个文件合并成一个文件的类 tar 风格的归档格式。Electron 无需解压整个文件,就可以从其中读取任意文件内容。
可以按如下步骤来将应用打包成 asar

  • 安装 asar
$ npm install -g asar
  • 使用 asar pack 打包:
$ asar pack your-app app.asar

使用asar包

Electron 中有两类 APIs,分别是 Node.js 提供的 Node APIChromium 提供的 Web API。这两种 API 都支持从 asar 包中读取文件。

Node API

由于 Electron 中打了特别补丁, Node API 中如 fs.readFile 或者 require 之类的方法可以将 asar 视之为虚拟文件夹,读取 asar 里面的文件就和从真实的文件系统中读取一样。

示例:

例如假设我们在 /path/to 文件夹下有个 example.asar 包:

$ asar list /path/to/example.asar
/app.js
/file.txt
/dir/module.js
/static/index.html
/static/main.css
/static/jquery.min.js

asar 包读取一个文件:

const fs = require('fs');
fs.readFileSync
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值