打包发布

我们用Electron开发的程序源代码是无法直接分发给用户的,因为用户没有NodeJS开发环境,而且运行源代码需要使用npm命令等专业操作。我们需要将工程打包为可以分发的文件交付用户。

创建可分发程序

Electron程序可以通过electron-packager工具进行打包,构建可分发程序。

安装electron-packager工具:

npm install electron-packager --save-dev

打包时,我们可以在npm启动命令中增加一条:

"build": "electron-packager . myApp --win --out ./build --arch=x64 --overwrite"

此时运行npm run build即可,我们将输出内容复制给用户就可以运行了。

使用asar打包资源

上面创建的可分发程序中,我们可以找到resources/app目录,我们可以看到这个目录下是我们的源代码,此外还包含一个巨大的node_modules文件夹,这些小文件是不利于软件分发和用户安装的,如果用户使用的是机械硬盘,那么复制这些文件将极为缓慢。好在Electron提供了Asar包这一方便的格式,我们可以将app目录进一步打包为app.asar。Asar是一种归档格式,可以将大量小文件合并为一个归档文件,而程序依然可以将其视为一个只读的文件夹读取资源和源代码。

安装asar工具:

npm install @electron/asar --save-dev

注:asar工具最新的包名从asar变成了@electron/asar

然后执行类似下面的命令即可:

asar pack ./build/myApp-win32-x64/resources/app ./build/myApp-win32-x64/resources/app.asar

生成app.asar后,我们就可以将原本的app文件夹删除了,如果一切正常,程序代码无需改动即可正常运行。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。