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

Electron 应用打包全指南

一、为何需要打包?

Electron 核心模块不包含打包工具,开发模式的应用必须通过额外工具转换为可分发包(Distributable),例如:

  • Windows 的 .msi 安装包
  • macOS 的 .dmg.app 便携包
  • Linux 的 .deb 等格式

二、Electron Forge 工作流(推荐方案)

整合了 @electron/packager@electron/osx-sign 等工具链

  1. 安装与项目导入
    在项目中添加 CLI 并执行转换:

    npm install --save-dev @electron-forge/cli
    npx electron-forge import
    

    关键变化

    • package.json 新增脚本命令:
      "scripts": {"start": "electron-forge start","package": "electron-forge package","make": "electron-forge make"
      }
      
    • 生成 forge.config.js 配置文件(含多平台 Maker 预设)
  2. 生成可分发包
    执行构建命令:

    npm run make  # 内部自动执行 package → make 两步
    

    输出结构

    out/
    ├── make/          # 分发安装包(如 ZIP/DMG)└── packaged-app/  # 含 Electron 二进制的应用包
    

    *示例:macOS 生成 my-electron-app.app.zip 安装包 *

  3. 多平台格式支持
    forge.config.js 配置 Makers 可定制输出格式:

    • Windows: Squirrel (MSI), WiX
    • macOS: DMG, PKG
    • Linux: deb, rpm
      *详见 Makers 文档 *

三、代码签名(关键安全步骤)

必须操作:否则系统将阻止安装/运行!

  • macOS:签名应用包(.app
    // forge.config.js
    packagerConfig: {osxSign: {}, osxNotarize: { // 公证配置appleId: process.env.APPLE_ID, appleIdPassword: process.env.APPLE_PASSWORD}
    }
    
  • Windows:签名安装包(.msi
    makers: [{name: '@electron-forge/maker-squirrel',config: {certificateFile: './cert.pfx', certificatePassword: process.env.CERT_PWD}
    }]
    
    *注:证书需提前申请,敏感信息使用环境变量传递 *

四、进阶配置
  • 应用图标
    通过 Forge 的 图标教程 添加自定义图标
  • 手动打包方案
    参考 Application Packaging 文档(非 Forge 流程)

技术依据:Electron 官方文档《Packaging Your Application》

http://www.dtcms.com/a/271047.html

相关文章:

  • 机器学习模型在C++平台的部署
  • 基于 Redis 实现高并发滑动窗口限流:Java实战与深度解析
  • 开始读 PostgreSQL 16 Administration Cookbook
  • 深度学习 最简单的神经网络 线性回归网络
  • ArtifactsBench: 弥合LLM 代码生成评估中的视觉交互差距
  • 论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法
  • 腾讯云COS,阿里云OSS对象存储服务-删除操作的响应码204
  • 汽车智能化2.0引爆「万亿蛋糕」,谁在改写游戏规则?
  • 通用游戏前端架构设计思考
  • VSCode配置Cline插件调用MCP服务实现任务自动化
  • 旅游管理实训室建设的关键要点探讨
  • 向量空间 线性代数
  • 软件测试偏技术方向学习路线是怎样的?
  • 安装nvm管理node.js,详细安装使用教程和详细命令
  • Spring Boot微服务中集成gRPC实践经验分享
  • 【每日算法】专题六_模拟
  • 全球发展币GDEV:从中国出发,走向全球的数字发展合作蓝图
  • 2 STM32单片机-蜂鸣器驱动
  • 【vLLM 学习】Eagle
  • oracle ocp题库有多少道题,以及题库背诵技巧
  • Context Engineering:从Prompt Engineering到上下文工程的演进
  • 破局电机制造四大痛点:MES与AI视觉的协同智造实践
  • 基于SD-WAN的管件制造数字化产线系统集成方案
  • 中山排气歧管批量自动化智能化3D尺寸测量及cav检测分析
  • 什么是幂等
  • clickhouse 各个引擎适用的场景
  • 飞算 JavaAI 智能编程助手 - 重塑编程新模态
  • ClickHouse 时间范围查询:精准筛选「本月数据」
  • tinyxml2 开源库与 VS2010 结合使用
  • LaCo: Large Language Model Pruning via Layer Collapse