electron-builder打包.001

前言

Electron 之所以能够日益风靡,是因为其简单易用且对各个操作平台具有良好的支持。

今天我就来分享一下怎么使用一套代码,快速打包生成各主流平台安装包的经验。

项目安装

首先,使用我前面介绍的提效小技巧,设置:

  • NPM 源为淘宝镜像源;
  • Electron 源为中国镜像网站中的 Electron 源地址。

然后依次执行以下指令:

  1. mkdir my-electron
  2. cd my-electron
  3. npm init -y
  4. npm install electron@14.2.6 -D
  5. npm install @electron/remote --save
  6. npm install electron-builder -D

打包配置

在 my-electron 目录下的 package.json 中,添加打包配置:

  1. {
  2. "name": "my-electron",
  3. "version": "0.1.0",
  4. "author": "编程三昧",
  5. "build": { // electron-builder配置
  6. "productName":"myFirstApp",//项目名 这也是生成的exe文件的前缀名
  7. "appId": "xxxxx",
  8. "copyright":"xxxx",//版权信息
  9. "directories": {
  10. "output": "build" // 输出文件夹
  11. },
  12. "extraResources": [{ // 需要读写的配置文件
  13. "from": "./config/config.json",
  14. "to": "../config/config.json"
  15. }],
  16. "win": {
  17. "icon": "xxx/icon.ico"//图标路径,
  18. "target":[
  19. {
  20. "target": "nsis",
  21. "arch": ["x64"]
  22. }
  23. ]
  24. },
  25. "dmg": {
  26. "contents": [
  27. {
  28. "x": 0,
  29. "y": 0,
  30. "path": "/Application"
  31. }
  32. ]
  33. },
  34. "linux": {
  35. "icon": "xxx/icon.ico"
  36. },
  37. "mac": {
  38. "icon": "xxx/icon.ico"
  39. },
  40. "nsis": {
  41. "oneClick": false, // 一键安装
  42. "guid": "xxxx", //注册表名字,不推荐修改
  43. "perMachine": true, // 是否开启安装时权限限制(此电脑或当前用户)
  44. "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
  45. "allowToChangeInstallationDirectory": true, // 允许修改安装目录
  46. "installerIcon": "./build/icons/aaa.ico", // 安装图标
  47. "uninstallerIcon": "./build/icons/bbb.ico", //卸载图标
  48. "installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
  49. "createDesktopShortcut": true, // 创建桌面图标
  50. "createStartMenuShortcut": true, // 创建开始菜单图标
  51. "shortcutName": "xxxx" // 图标名称
  52. }
  53. }
  54. }

配置打包脚本

在 package.json 中,添加对应的打包脚本:

  1. {
  2. "scripts": {
  3. "dev": "electron . --enable-loggin --no-sandbox",
  4. "build-64": "electron-builder --win --x64",
  5. "build-linux": "electron-builder --linux",
  6. "build-mac": "electron-builder --mac"
  7. }
  8. }

在 my-electron 目录下打开终端,运行 npm run dev 即可进入开发模式。

关于各平台 Electron 镜像

在有网络的情况下,由于我们设置了 NPM 镜像和 Electron 源,速度还是很快的。

但我这边是内网打包,没法联网,所以,需要取个巧,在打包开始之前就将对应平台的 Electron 源下载下来放到各自的 NPM 缓存中去。

electron-builder 在打包的时候,会根据系统的不同去各自的 NPM 缓存目录下查找对应版本的 Electron 源,当我们将下载好的源放在 NPM 缓存中后,就不需要再去联网拉去了。

我使用的 electron@14.2.6 镜像的下载地址为:https://registry.npmmirror.com/binary.html?path=electron/14.2.6/

这是 @electron/get 中获取 electron 镜像缓存的示例:

  1. import { downloadArtifact } from '@electron/get';
  2. const zipFilePath = await downloadArtifact({
  3. version: '14.2.6',
  4. platform: 'darwin',
  5. artifactName: 'electron',
  6. artifactSuffix: 'symbols',
  7. arch: 'x64',
  8. });

各操作系统对应的 NPM 缓存路径分别为:

  • Linux: $XDG_CACHE_HOME or ~/.cache/electron/
  • MacOS: ~/Library/Caches/electron/
  • Windows: %LOCALAPPDATA%/electron/Cache or ~/AppData/Local/electron/Cache/

注意:Linux x64Linux arm64 对应的 electron 镜像是不同的,

关于开发模式启动不了的问题

开发模式可能启动不了,其原因或许是 my-electron、node_modules 下的 electron 未执行安装,缺少 Electron 源。

想要解决,只需执行以下指令:

  1. node ./node_modules/electron/cli.js

等待 electron 镜像拉取完成后,即可正常进入开始模式。

总结

~

~ 本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

更多相关文章

  1. Android快速开发02之仿京东底部Tab
  2. android Ant批打包学习(一):生成没有签名的apk
  3. android 主要镜像(image)解析
  4. Android(安卓)studio3修改打包出來的名字
  5. 为android-support-v4.jar打包源码
  6. CSS基础2:伪类选择器,字体图标,盒模型
  7. 使用 electron-builder 打包 Electron 程序
  8. electron-builder打包配置详解
  9. android实现应用程序无图标(快捷方式)问题.

随机推荐

  1. android 双向滑动 稍加改进,可做成QQHD效
  2. Android Studio 下载安装教程
  3. 【Unity3D】与Android相互传递消息
  4. Android开机动画过程
  5. android TextView 阴影效果,和使用style学
  6. android测试
  7. 沉浸式状态栏StatusBar
  8. 常用的一些属性说明
  9. EditText单行显示
  10. Android的四种启动方式