electron-banner

引言

在打包Electron App的时候,有很多工具可以使用,各有长短,这里简单汇总几个常用工具的特点及注意事项,便于选择。包括:

  • electron-packager;
  • electron-builder;
  • grunt-electron-installer(windows-installer);

注意:详细的安装及使用方法需要参考官方文档,本文不做赘述。

electron-packager

官方链接

  • GitHub

是什么

Package your Electron app into OS-specific bundles (.app, .exe, etc.) via JavaScript or the command line.
Electron Packager is a command line tool and Node.js library that bundles Electron-based application source code with a renamed Electron executable and supporting files into folders ready for distribution.

使用方法

该工具提供了两种使用方式:JS API(Node.js library)和CLI。详细使用方法请访问官方文档。下面是在命令行中使用的例子:

"scripts": {"package": "electron-packager . --platform=win32 --arch=ia32 --electron-version=1.4.15 --overwrite --ignore=node_modules --ignore=.gitignore"
},

特点

  • 使用 electron-packager 打包,macOS系统打包app文件,不能打包exe文件,windows系统可以打包app文件以及exe文件;
  • 支持平台有:Windows (32/64 bit)、OS X (also known as macOS)、Linux (x86/x86_64);
  • 生成的格式:.exe(这里不能生成安装包,只能生成可执行文件及目录)、.app、mas、linux可执行格式;
  • 可选项;
  • 支持CLI和JS API两种使用方式;

electron-builder

官方连接

  • GitHhub

是什么

A complete solution to package and build a ready for distribution Electron app for macOS, Windows and Linux with “auto update” support out of the box.

使用方法

在 package.json中添加如下配置:

"scripts": {"pack": "build --win --ia32 --dir","dist": "build --win --ia32"
},
"build": {"appId": "org.shennongmin.QuickStart","copyright": "Open Totally","compression": "normal","nsis": {"oneClick": true,"perMachine": true,"runAfterFinish": true}
},

特点

  • electron-builder 可以打包成msi、exe、dmg文件,macOS系统,只能打包dmg文件,window系统才能打包exe,msi文件;
  • 几乎支持了所有平台的所有格式;
  • 可以将prepackage目录(手动或使用electron-packager生成的目录)打包成安装包;
  • 支持Auto Update;
  • 非常丰富的选项;
  • 支持CLI和JS API两种使用方式;

grunt-electron-installer

官方链接

https://github.com/electron-archive/grunt-electron-installer

是什么

Grunt plugin that builds Windows installers for Electron apps using Squirrel.

使用方法

先用 electron-packager 将应用打包到应用目录下,例如:SNM Quick Start-win32-ia32

在应用目录下新文件 gruntPackage.json,内容如下:

{"name": "SNM_Quick_Start","version": "1.7.8"
}

在应用目录下新文件 Gruntfile.js,内容如下:

var grunt = require("grunt");
grunt.config.init({pkg: grunt.file.readJSON('gruntPackage.json'),'create-windows-installer': {ia32: {appDirectory: 'SNM Quick Start-win32-ia32',authors: 'shen nongmin',exe: 'SNM Quick Start.exe',description: "this is a test",}       }
})grunt.loadNpmTasks('grunt-electron-installer');
grunt.registerTask('default', ['create-windows-installer']);

安装grunt和grunt-electron-installer:

npm install -g grunt-cli
npm install grunt grunt-electron-installer --save-dev

在应用目录下执行grunt:

grunt

随后会在生成的installer目录中包含如下几个文件:

RELEASES
SNM Quick StartSetup.exe
SNM Quick StartSetup.msi
SNMQuickStart-1.7.8-full.nupkg

其中,.exe可以安装(如需支持Squirrel则需要对main.js进行修改,这里不介绍)。

特点

  • 只支持Windows系统;
  • 支持Squirrel;
  • 只支持命令行使用;
  • 依赖windows-installer;
  • 可选项;

关于支持Squirrel的链接

  • http://electron.atom.io/docs/api/auto-updater/
  • https://github.com/electron/windows-installer#handling-squirrel-events
  • https://github.com/mongodb-js/electron-squirrel-startup

阅读原文 | 作者官网 | 公众号 | Feed | 订阅 | 发私信

常用Electron App打包工具相关推荐

  1. 14个最常用的app测试工具推荐,拿走不谢!

    UI自动化测试工具 通知:[公众号更名为:程序员臻叔] 关注领福利: 回复「测试」:获取最常用的测试用例模版+常用的测试工具. 回复「面试」:臻叔原创<测试岗笔面试真题宝典> 回复「简历」 ...

  2. 常用的软件打包工具Inno Setup和AdvancedInstallerPortable

    文章目录 一.Inno Setup 打包工具 二.AdvancedInstallerPortable 打包工具 今天遇到一个问题一个朋友问我有没有什么好用的软件打包工具.我给他说我常用的两个打包软件I ...

  3. 前端打包利器,webpack工具,app打包工具

    什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以 ...

  4. js node 打包mac应用_node app 打包工具pkg的具体使用

    node 打包可执行文件的工具有很多.node-packer 是国人写的,但一年前就停止更新了.而 nexe 一到fetching prebuilt binary 就报错,放弃了,最终选择了 pkg. ...

  5. node app 打包工具 pkg

    node 打包可执行文件的工具有很多.node-packer 是国人写的,但一年前就停止更新了.而 nexe 一到fetching prebuilt binary 就报错,放弃了,最终选择了 pkg. ...

  6. Web Bundler CheatSheet, 选择合适的构建打包工具

    题注:Web Bundler CheatSheet 属于 Awesome-CheatSheet 系列,盘点数个常用的开发打包工具清单.欢迎加入阿里南京前端团队,欢迎关注阿里南京技术专刊了解更多讯息. ...

  7. 几个常见的Android多渠道打包工具介绍

    Android项目开发完,多途径打包是必不可少的环节.其原理在于,通过在Android安卓包中增加不同的标识,区别各个途径下载来源,用于计算App在不同使用市场或途径合作中的各项数据. 工欲善其事,必 ...

  8. Mac Electron App 签名后打开闪退

    背景 昨天在测试 Mac Electron App 打包,发现不签名的应用能够正常打开,签了名的打开反而会崩溃. 寻因 首先我怀疑是不是自己代码导致闪退,但是在一番查找后,发现还根本没到执行我的代码就 ...

  9. webpack打包工具入门 (一)

    前言: webpack是前端人员常用到的打包工具,包括vuecli搭建自带webpack.所以面试一家公司,基本都会问到关于webpack的面试题 , 学习webpack是必经之路 . 什么是webp ...

最新文章

  1. 转载:APP的上线和推广——线上推广渠道
  2. 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手
  3. keepalived详解 结合lvs
  4. DataGridView 单元格验证
  5. 这两款无“节操”的浏览器,在315被曝光后,终于被下架了
  6. 帆软报表如何传递主表原有参数给子表呢_报表工具--钻取功能--超链接下钻
  7. linux服务器配置python环境_服务器python环境配置福利,CentOS ,Linux 一键下载python3和环境配置...
  8. 2015年5月移动游戏Benchmark
  9. python new方法_Python中的__new__()方法的使用
  10. 用了这些软件,写代码有了飞一般的速度
  11. hi3798 run linux,EC6108V9(HI3798MV100)刷(linux)ubuntu16.04
  12. pkg将项目打包成 exe应用, 双击启动 node
  13. C语言经典100例(9)——要求输出国际象棋棋盘。
  14. net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting head
  15. Python办公自动化:制作报表并发送到邮箱
  16. github git上传代码简单使用
  17. linux主机路由命令,linux下路由设置详解
  18. 直扩同步的跟踪 matlab,基于FPGA的猝发式直扩载波同步技术研究与实现
  19. shell之 ps、kill、killall命令详解
  20. c++ 3D笔记整理

热门文章

  1. 基于linux的mp3播放实现代码
  2. 首届飞瓜智投“品牌自播行业”沙龙 | 大咖云集,解读新“全量”时代直播新趋势
  3. 在Windows环境下部署SVN服务器
  4. ngnix有版本要求吗_微信视频美颜功能正式上线,你们都用上了吗?
  5. ffmpeg+opencv实现将视频中的人物头像框选
  6. 安全出行,从卸载夺命滴滴开始
  7. 如何抠图去掉多余部分?这些方法get过吗
  8. 制作Centos-6.9-x86_64-Everything.iso
  9. java argb_Java ARGB到JPG
  10. TCP与UDP有哪些区别?