我使用 electron-packager 来打包文件,electron-packager 打包的特点是,要写一大串命令,或者在根目录下的 package.json 文件中配置相应的字段如下:
“scripts”: {
“start”: “electron .”,
“packagerWin64”: “electron-packager ./ ‘ 项目 ’ –platform=win32 –arch=x64 –out ./project –app-version 1.0.0 –overwrite –icon=./static/assets/img/favicon.ico –asar”,
“packagerWin32”: “electron-packager ./ ‘ 项目 ’ –platform=win32 –arch=ia32 –out ./project –app-version 1.0.0 –overwrite –icon=./static/assets/img/favicon.ico –asar”,
“packagerMAC”: “electron-packager ./ ‘ 项目 ’ –platform=darwin –arch=x64 –out ./project –app-version 1.0.0 –overwrite –extra-resource=./res/2.dat –extra-resource=./res/1.dat –icon=./static/assets/img/favicon.icns”
}
简单介绍一下用到的打包字段,详细信息看官方文档:
https://github.com/electron-u…
官方文档中提到的基本格式为:
electron-packager <sourcedir> <appname> –platform=<platform> –arch=<arch> [optional flags…]
–platform 和 –arch 表示可运行的系统
这里面有个要注意的坑:本机只能打包对应系统运行的 electron 软件,我自己使用 mac 开发,所以我是在 windows 虚拟机里面进行的“packagerWin64”打包
“start”表示本地打包到./dist 文件夹,运行一个本地项目,用于测试
“packagerWin64”用来生成一个在 win64 位系统运行的 electron 软件
“packagerWin32”用来生成一个在 win32 位系统运行的 electron 软件
“packagerMAC”用来生成一个在 MAC 系统运行的 electron 软件
第一个‘./’表示打包文件的根目录 即 <sourcedir>
‘项目’表示打包后的文件名称 即 <appname>
–out ./project 表示生成的打包后的文件,在本地根目录的 piccRobot 文件夹里
–overwrite 表示,如果本地有之前的打包文件,会删除原有文件,重新生成新的打包文件
–app-version 1.0.0 表示生成的打包文件的版本
–icon=./static/assets/img/favicon.icns” 表示打包文件的图标
这里要注意的是,icns 是 mac 版的图标格式,如果是 win 版,格式就是 icon
–extra-resource=./res/1.dat 表示加载的第三方文件,有关加载第三方文件的细节比较多,我在系列三回答
–asar 简单来说,就是会把文件打包到一个加密文件包里,这样就不容易被解析到源码。具体分析见 electron 官网:
https://electronjs.org/docs/t…