electron 应用打包方式有很多,比如 electron-builder。但现在官方主推的是 Electron Forge。
图标
https://www.electronforge.io/guides/create-and-add-icons
Electron Forge
文档:https://www.electronforge.io/
api:https://js.electronforge.io
概念
forge 有两种使用场景:
- 使用 forge 模板从零搭建项目,里面配置好了打包
- 导入已有项目进行打包
- 使用 forge-cli import 脚本导入项目
- 手动配置 forge,导入项目进行打包
注意:forge 只支持 npm 或 yarn,推荐 npm。
模板
electron forge 提供了 5 个模板:
Templates
- template-base
- template-vite
- template-vite-typescript
- template-webpack
- template-webpack-typescript
https://www.electronforge.io/templates/vite-±typescript
https://js.electronforge.io/modules/_electron_forge_template_vite_typescript.html
导入已有项目
我们本次使用属于第二种情景,导入已有项目。
https://www.electronforge.io/import-existing-project
cd my-app
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"
依赖包
它会自动安装一些包。
{
"devDependencies": {
"@electron-forge/cli": "^7.3.0",
"@electron-forge/maker-deb": "^7.3.0",
"@electron-forge/maker-rpm": "^7.3.0",
"@electron-forge/maker-squirrel": "^7.3.0",
"@electron-forge/maker-zip": "^7.3.0",
"@electron-forge/plugin-auto-unpack-natives": "^7.3.0",
"@electron-forge/plugin-fuses": "^7.3.0",
"electron": "^29.0.1"
}
}
这些包都是 Electron Forge 的组成部分,它们提供了不同的功能和插件,用于构建和打包 Electron 应用。下面是每个包的作用:
@electron-forge/cli- Electron Forge 的命令行接口 (CLI),它提供了一组命令,如start,package,make,publish等,用于启动、打包、创建分发包和发布你的 Electron 应用。@electron-forge/maker-deb- 一个 maker,用于创建 Debian (.deb) 格式的安装包,这些包通常用于 Debian 和 Ubuntu 等 Linux 发行版。@electron-forge/maker-rpm- 一个 maker,用于创建 Red Hat Package Manager (.rpm) 格式的安装包,这些包通常用于 Red Hat、Fedora、CentOS 等 Linux 发行版。@electron-forge/maker-squirrel- 一个 maker,用于创建 Squirrel.Windows (.msi, .exe) 格式的安装包,这些包用于 Windows 系统。@electron-forge/maker-zip- 一个 maker,用于创建 zip 压缩包,通常用于分发没有特定安装程序的简单应用版本。@electron-forge/plugin-auto-unpack-natives- 一个插件,用于自动解包原生 Node 模块,这样它们就可以在打包的应用中被正确加载。@electron-forge/plugin-fuses- 一个插件,用于在打包过程中设置一些“熔丝”(fuses),这些熔丝可以控制应用的行为,比如禁用调试功能、防止应用被篡改等。
脚本命令
除了自动安装依赖包,还会自动添加一些脚本命令。
{
// ...
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package", // 打包
"make": "electron-forge make", // 构建分发包
"publish": "electron-forge publish"
}
// ...
}
打包和创建分发包:
打包是将应用程序和 Electron 运行时打包成可执行的形式。而创建分发包则是将这些可执行文件和必要的安装脚本、元数据打包成用户熟悉的安装包格式。
一句话总结:
- package 为将应用打包成免安装包形式,会有一堆文件,里面有一个 exe 文件,双击运行。
- make 为打包出一个安装包,安装包只有一个单独的文件,所以可以挂在应用市场或者官网分发,所以叫分发包。
- 并且执行 make 打包成安装包时,必然会先进行 package 打包。所以 make 命令会有两个类型的包产物。
make 命令具体有三个产物:
- 安装包:
{appName} Setup.exe - 用于更新的 NuGet 包文件:
{appName}-full.nupkg - 用于检查更新是否可用的元数据文件:
RELEASES
踩坑:执行npm run make时报错
- Error: Cannot find module ‘@electron-forge/plugin-fuses’
把这个包手动安装为开发依赖即可。
npm install --save-dev @electron-forge/plugin-fuses
配置
配置可写在一个单独的文件里,也可直接在 packa.json 中添加。更推荐单独 js 文件的形式。
// package.json
{
本文介绍了 Electron Forge 的核心概念、模板选择、导入已有项目、依赖包、脚本命令和配置,特别是如何处理打包过程中的问题。它强调了 forge 支持的不同模板和平台,以及如何配置 maker 以创建不同类型的安装包。文章还提供了配置文件的示例,帮助开发者理解如何自定义打包选项。
最低0.47元/天 解锁文章
2613

被折叠的 条评论
为什么被折叠?



