按照官网的 【Quick Start】 教程做一遍
一、创建工程
1 | mkdir electron-app |
二、增加命令
package.json 增加一条 start 命令
1 | { |
三、Demo代码
index.html
1 |
|
index.js
1 | // 控制应用生命周期和创建原生浏览器窗口的模组 |
preload.js
1 | // 所有Node.js API都可以在预加载过程中使用。 |
四、启动
1 | yarn start 或者 npm start |
占用内存大概67MB
五、打包分发
官网介绍可以使用以下工具来分发您的应用程序:
electron-forge
官网介绍这是最快捷的打包方式。electron-builder
(推荐) 官网介绍这是一个完备的Electron应用打包和分发解决方案,它致力于软件开发的集成体验,另外还带有在线更新的功能。electron-packager
直接打包为单文件,不支持跨平台打包,打包后体积较大。
5.1、electron-forge快捷打包
forge可以自动检测你的系统,然后打包成对应的可执行文件,但是可配置项目比较少。
5.1.1、 安装forge依赖
1 | yarn --registry=https://registry.npm.taobao.org add --dev @electron-forge/cli |
5.1.2、 forge make 编译
1 | npm run package |
编译后的文件在 out
目录下:
electron-app-win32-x64
目录是打包(electron-forge package
)目录,所有文件187MB,一般用于调试,不是分发。make/squirrel.windows/x64
目录是编译(electron-forge make
) 目录,只有一个文件79.5MB,这就是可以分发的包。
运行占用内存72MB
5.1.3、 forge 跨平台打包
好像forge目前只能打包当前机器的平台,我在Win10平台通过修改配置,每次依然只输出Win平台,forge 并不会打包 linux 和 macos 平台的包,或者说我还没尝试成功?
如果实在不支持跨平台打包,可以在Linux、MacOS平台进行打包。
5.2、 electron-builder打包
本以为electron-builder
对跨平台构建支持的很好,但打开官网多平台构建看到的第一段话却是:
Don’t expect that you can build app for all platforms on one platform.
不要期望你可以在一个平台上创建适用于所有平台的应用。
本来 electron-builder
提供了一个在线跨平台构建的服务,但后来停掉了。
现在【官网】推荐使用Docker镜像来做跨平台构建。
1 | docker run --rm -ti \ |
但还是不要想着跨平台构建了,说不定很多坑位呢?而且Windows上用Docker也是不少坑位的吧!
还是老老实实在相应的平台做构建吧!
5.2.1、 安装electron-builder依赖
node 版本要求 >=14.0.0
1 | ls |
favicon.ico 文件尺寸必须是256 * 256
在User根目录的 .npmrc
文件 (如果没有则新建一个),设置以下镜像地址:
1 | ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/ |
5.2.2、 electron-builder执行构建
1 | npm run distWin64 |
构建好的文件在dist目录下,demo Setup 1.0.0.exe
文件大小为 57.8MB
,这是一个nsis安装包,可以自定义安装的目录。