打包发布
我们用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进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。