我使用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官網 :