Skip to main content

electron打包多平台

一、核心打包工具

  • electron-packager:官方推荐的基础打包工具,可生成未签名的可执行文件(.exe)或文件夹形式的应用。
  • electron-builder:功能更强大的打包工具,支持生成安装包(.exe.msi)、自动签名、配置图标、添加安装向导等,更适合生产环境。

实际开发中,electron-builder 因功能全面而被广泛使用,本文采用electron-builder

二、Windows 打包格式

  1. NSIS 安装包(.exe)
    • 最常用的格式,支持自定义安装路径、创建桌面快捷方式、添加卸载程序等,适合普通用户安装。
    • 基于 NSIS(Nullsoft Scriptable Install System)脚本,可通过配置文件自定义安装流程。

三、基本打包步骤

安装依赖
bash
 
  npm install electron-builder --save-dev
                                                              

配置 package.json
package.json 中添加打包配置(build 字段),指定 Windows 相关参数:

{
  "name": "examination-system",
  "version": "1.0.0",
  "description": "***",
  "main": "main.js",
  "type": "commonjs",
  "homepage": "https://www.ynqkjd.com/",
  "author": "***",
  "scripts": {
    "dev": "electron .",
    "build:linux": "electron-builder --linux",
    "build:win": "electron-builder --win"
  },
  "devDependencies": {
    "electron": "^37.2.1",
    "electron-builder": "^26.0.12"
  },
  "build": {
    "appId": "ynqkjd.com.examination-system",
    "copyright": "Copyright © 2025 ${author}",
    "linux": {
      "category": "Utility",
      "target": [
        {
          "target": "deb",
          "arch": ["x64", "arm64"]
        }
      ],
      "maintainer": "***",
      "icon": "icons/",
      "desktop": {
        "entry": {
          "Name": "***",
          "Comment": "***",
          "Keywords": "***",
          "Terminal": "false",
          "Icon": "***",
          "Type": "Application",
          "Categories": "Utility;Examination;",
          "StartupWMClass": "***"
        }
      }
    },
    "win": {
      "target": [
        {
          "target": "nsis",
          "arch": [
            "ia32"
          ]
        }
      ],
      "icon": "win/winIcon/win.ico",
      "artifactName": "${productName}_v${version}_${arch}.${ext}"
    },
    "nsis": {
      "include": "installer.nsi",
      "oneClick": false,
      "allowToChangeInstallationDirectory": true
    }
  },
  "dependencies": {
    "serve-static": "^2.2.0",
    "winston": "^3.17.0"
  }
}

全控多年专注非标设备研发、生产

  • 联系人: 王经理
  • 云南省昆明市呈贡区华潮商务园(常山路50米)
  • 13888610742 | 0871-67171886
  • jiawu-wang@126.com