Appearance
编译软件
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 配置文件中修改 extraResources 或 extraFiles 配置段
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