SinF的Electron系列之二---electron-packager命令简析

我使用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...]
  1. --platform 和 --arch 表示可运行的系统

    • 这里面有个要注意的坑:本机只能打包对应系统运行的electron软件,我自己使用mac开发,所以我是在windows虚拟机里面进行的 “packagerWin64” 打包
    • “start” 表示本地打包到./dist文件夹,运行一个本地项目,用于测试
    • “packagerWin64” 用来生成一个在win64位系统运行的electron软件
    • “packagerWin32” 用来生成一个在win32位系统运行的electron软件
    • “packagerMAC” 用来生成一个在MAC系统运行的electron软件
  2. 第一个 ‘./’ 表示打包文件的根目录 即 <sourcedir>
  3. ‘项目’ 表示打包后的文件名称 即<appname>
  4. --out ./project 表示生成的打包后的文件,在本地根目录的piccRobot文件夹里
  5. --overwrite 表示,如果本地有之前的打包文件,会删除原有文件,重新生成新的打包文件
  6. --app-version 1.0.0 表示生成的打包文件的版本
  7. --icon=./static/assets/img/favicon.icns" 表示打包文件的图标

    • 这里要注意的是,icns是mac版的图标格式,如果是win版,格式就是icon
  8. --extra-resource=./res/1.dat 表示加载的第三方文件,有关加载第三方文件的细节比较多,我在系列三回答
  9. --asar 简单来说,就是会把文件打包到一个加密文件包里,这样就不容易被解析到源码。具体分析见electron官网 :

相关推荐