Electron 是由 Github開發(fā)的開源框架,它允許開發(fā)者使用Web技術(shù)構(gòu)建跨平臺的桌面應(yīng)用。
Electron = Chromium + Node.js + Native API
Chromium : 為Electron提供了強大的UI能力,可以不考慮兼容性的情況下,利用強大的Web生態(tài)來開發(fā)界面。
Node.js :讓Electron有了底層的操作能力,比如文件的讀寫,甚至是集成C++等等操作,并可以使用大量開源的npm包來完成開發(fā)需求。
Native API : Native API讓Electron有了跨平臺和桌面端的原生能力,比如說它有統(tǒng)一的原生界面,窗口、托盤這些。
準備工作:
1、全局安裝打包工具 electron-packager
要求:Electron Packager require Node >=10.12.0
2、打包前為當前app制作icon:icon.ico,256*256。制作好放入app根目錄。
electron-packager打包:electron-packager打包有兩種方式,一是直接在命令行編輯命令,直接進行打包。另一種是在package.json里編輯package,執(zhí)行npm run-script package。
打包方式一:直接在命令行輸入打包命令
# 命令行打包
electron-packager . HelloWorld --platform=win32 --arch=x64 --icon=computer.ico --out=./out --asar --app-version=1.0.0 --overwrite --ignore=node_modules --electron-version 8.2.1
參數(shù)說明:
HelloWorld :你將要生成的exe文件的名稱
–platform=win32:確定了你要構(gòu)建哪個平臺的應(yīng)用,可取的值有 darwin, linux, mas, win32
–arch=x64:決定了使用 x86 還是 x64 還是兩個架構(gòu)都用
–icon=自定義.ico:自定義設(shè)置應(yīng)用圖標
–out=./out:指定打包文件輸出的文件夾位置,當前指定的為項目目錄下的out文件夾
–asar:該參數(shù)可以不加,如果加上,打包之后應(yīng)用的源碼會以.asar格式存在
–app-version=1.0.0:生成應(yīng)用的版本號
–overwrite:覆蓋原有的build,讓新生成的包覆蓋原來的包
–ignore=node_modules:如果加上該參數(shù),項目里node_modules模塊不會被打包進去
–electron-version 8.2.1:指定當前要構(gòu)建的electron的電子版本(不帶"v"),需要和當前的版本一致,具體可以在 package.json文件中查看,可以不加該參數(shù),如果不一致,會自動下載。
electron-packager . helloWorld --platform=win32 --arch=x64 --icon=icon.ico --out=./out --asar --app-version=1.0.0 --overwrite --ignore=node_modules --electron-version 8.2.1
打包方式二:在package.json文件中配置
"scripts": {
"package":"electron-packager . HelloWorld --platform=win32 --arch=x64 --icon=computer.ico --out=./out --asar --app-version=1.0.0 --overwrite --ignore=node_modules"
}
然后在命令行中輸入:npm run package。
通過以上兩種方式進行打包,出現(xiàn)以下信息,表示打包完成,并且在根目錄下多出out文件夾。

electron打包命令參數(shù):https://electron.github.io/electron-packager/master/interfaces/electronpackager.options.html#electronversion