按照官网的 【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安装包,可以自定义安装的目录。