Skip to content

编译软件

asar

electron 编译的软件会打包到 app.asar 中,在windows 系统中,你可以在编译后的文件夹 resource 中查看到。在苹果系统中,你需要在编译后的软件中,点击右键查看包内容的方式查看到 app.asar。

查看asar 包内容

我们可以通过安装 asar 命令查看到包内容

npm install -g asar

现在就可以使用 asar 命令查看 app.asar 包内容了,请自行根据系统修复下面命令的路径

asar list ..../app.asar

禁止打包

我们也可以将某些模块或文件不打包到 app.asar 中,需要在 electron-builder.yml 配置文件中修改 files 配置段,如下例

files:
  - '!node_modules/@ffmpeg-installer'

打包位置

我们可以将系统中的某些文件或目录自定义到指定的位置,在 electron-builder.yml 配置文件中修改 extraResourcesextraFiles 配置段

extraResources 会将文件放到软件的 Contents/Resources 目录中

extraFiles 会将文件放到软件的 Contents 目录中

下面是一个示例

files:
  - '!**/.vscode/*'
  - '!src/*'
  - '!electron.vite.config.{js,ts,mjs,cjs}'
  - '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
  - '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
  - '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
extraResources:
  - node_modules/@ffmpeg-installer
  - node_modules/@ffprobe-installer

wsl2

因为 electron 是跨平台的,所以windows 编译也没有什么区别,不过我介绍一下在 windows 的wsl2中怎么使用 electron。我们是可以在 wsl2 中正常开发,也可以编译成 linux 或 win 的软件,但可能在开发过程中有不确定的问题出现,所以如果你不想折腾,可以直接在windows 系统中开发,不用在 wsl 中配置。

环境配置

下面讲解在windows系统的wsl子系统中编译 windows electron app 的环境配置,在 electron-build 中有相关章节介绍

sudo apt install libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev

wine

wine 是在 linux 中使用 windows 软件的工具,所以我们来在 wsl2 中安装wine,你可以查看 wine文档 了解你的wsl系统的安装方式,下面是 ubuntu 22.04 为例,请依次执行以下命令安装

sudo dpkg --add-architecture i386 

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
	
sudo apt install --install-recommends winehq-stable

Mono

这是 wine 依赖的软件,一般情况下不用单独安装,在安装好wine 并执行开发时,会自动进行下载安装。

下面安装 Mono 用于编译应用, 首先配置安装源

sudo apt install ca-certificates gnupg
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

然后执行安装

sudo apt install mono-devel