当前位置: 首页 > news >正文

electron-builder打包

打包配置:

"build": {"appId": "cc11001100.electron.example-001", // 程序包名"copyright": "CC11001100", // 版权相关信息"productName": "example-001", // 安装包文件名"directories": {"buildResources": "build", //指定打包需要的静态资源,默认是build"output": "dist" // 安装包生成目录},"nsis": {"oneClick": false, // 是否一键安装"language": "2052", //安装语言,2052对应中文"perMachine": true, //为当前系统的所有用户安装该应用程序"allowToChangeInstallationDirectory": true // 允许用户选择安装目录},"dmg": {"background": "res/background.png", // 背景图片的路径"icon": "build/icons/icon.icns", //安装图标"iconSize": 100, //图标的尺寸"contents": [ //安装图标在安装窗口中的坐标信息{"x": 380,"y": 180,"type": "link","path": "/Applications"},{"x": 130,"y": 180,"type": "file"}],"window": {// 启动后窗口左上角位置"x": 100,"y": 100,// 启动后窗口的大小"width": 500,"height": 300}},"mac": {"target": ["dmg","zip"], //安装包的格式,默认是"dmg"和"zip""category": "public.app-category.utilities" //应用程序安装到哪个分类下,具体有哪些分类可以在苹果官网上找},"win": {"icon": "build/icons/food.png", // 安装包图标,必须为 256 * 256 像素图片"target": ["target": "nsis","arch": [ // 这个意思是打出来32 bit + 64 bit的包,但是要注意:这样打包出来的安装包体积比较大,所以建议直接打32的安装包,默认64位。"x64", "ia32"]]},"files": ["build/**/*","main.js","public/preload.js"],"extends": null
}

------zjtyjy------ ------0-1-2-4-6-10-12-16-18-22-28-6-4-2-1-0------

第一次打包的话会根据不同平台下载一些对应的文件,因为Electron打包是要把Chromium的运行时打包进去的,这也是Electron开发的程序被人诟病的一个地方。哪怕是一个很简单的小玩具,打包出来可能都要好几十M。

如果每次打包的时候都要执行此命令比较麻烦的话,可以为package.json添加一个dist命令:

  "scripts": {
    "dist": "electron-builder"
  }
Electron是跨平台的,这个跨平台是借助的统一的运行时node+Chromium,这俩可不是跨平台的,所以在打包的时候要指定平台然后下载对应平台这俩的版本作为运行时打到包里,如果不指定的话,默认会打适合当前系统环境的包

相关文章:

  • mysql体系结构及主要文件
  • python 笔记:locals
  • python笔记基础--类(6)
  • 洛谷day3
  • Redis是如何避免“数组+链表”的过长问题
  • React【Day1】
  • 【大模型】在VS Code(Visual Studio Code)上安装中文汉化版插件
  • [激光原理与应用-78]:激光加工(如打标)的各种笔参数与含义解读
  • MCGS学习——用户管理
  • XUbuntu22.04之安装Plantuml(二百二十三)
  • Camera入门基础知识
  • UGUI源码分析与研究2-从底层实现的角度去分析和调优UI的性能问题和疑难杂症
  • 加载三维模型,加载时黑的?
  • 前端视角如何理解“时间复杂度O(n)”
  • 【算法】小强爱数学(迭代公式+数论取模)
  • [LeetCode] Wiggle Sort
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • HTTP--网络协议分层,http历史(二)
  • JDK 6和JDK 7中的substring()方法
  • leetcode98. Validate Binary Search Tree
  • ng6--错误信息小结(持续更新)
  • Otto开发初探——微服务依赖管理新利器
  • Python学习之路16-使用API
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • tweak 支持第三方库
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue实战(四)登录/注册页的实现
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 浮现式设计
  • 简析gRPC client 连接管理
  • 前端技术周刊 2019-02-11 Serverless
  • 如何设计一个微型分布式架构?
  • 微服务核心架构梳理
  • 我的zsh配置, 2019最新方案
  • 我这样减少了26.5M Java内存!
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 学习JavaScript数据结构与算法 — 树
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 智能网联汽车信息安全
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)字符分类函数
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (三)mysql_MYSQL(三)
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)编辑寄语:因为爱心,所以美丽
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET DataGridView数据绑定说明
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET Windows:删除文件夹后立即判断,有可能依然存在