【Electron】应用打包教程(包含 C++ 后端 + 前端)

📦 Electron 应用打包教程(包含 C++ 后端 + 前端)

本教程将手把手指导你在 Windows 下使用 Electron + electron-builder 创建并打包一个桌面应用,假设你已经拥有:

  • ✅ 已构建好的 前端页面(HTML/CSS/JS)
  • ✅ 已编译好的 C++ 后端程序(如 exe 文件)

你将学会:安装 Node.js、配置 npm、初始化项目、设置国内镜像、安装 Electron 和 electron-builder,并打包为安装包。


📁 1. 新建项目文件夹

mkdir MyElectronApp
cd MyElectronApp

📥 2. 安装 Node.js(附带 npm)

  1. 打开官网下载安装:

  2. 安装完成后,打开 PowerShell 运行验证:

node -v    # 查看 Node.js 版本
npm -v     # 查看 npm 版本

🌐 3. 配置 npm 国内镜像(永久生效)

npm config set registry https://registry.npmmirror.com

验证:

npm config get registry
# 输出应为 https://registry.npmmirror.com

🛠 4. 初始化 npm 项目

npm init -y

这会创建一个默认的 package.json 文件。


📦 5. 安装 Electron 与 electron-builder

npm install electron --save-dev
npm install electron-builder --save-dev

📁 6. 项目结构建议

MyElectronApp/
├── dist/               # 前端构建后的文件(index.html)
├── backend/            # C++ 后端程序(已编译的 .exe 文件)
│   └── backend.exe
├── main.js             # Electron 主进程入口
├── package.json        # npm 配置
└── icon.ico            # 应用图标(可选)

📄 7. 创建 main.js

const { app, BrowserWindow } = require('electron');
const path = require('path');
const { spawn } = require('child_process');

function createWindow() {
  const win = new BrowserWindow({
    width: 1000,
    height: 800,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });

  win.loadFile(path.join(__dirname, 'dist/index.html'));

  // 启动后端程序(C++ 编译后的 exe 文件)
  const backend = spawn(path.join(__dirname, 'backend/backend.exe'));
  backend.stdout.on('data', data => console.log(`[后端] ${data}`));
  backend.stderr.on('data', data => console.error(`[后端错误] ${data}`));
}

app.whenReady().then(createWindow);

⚙️ 8. 修改 package.json

添加启动命令和打包配置:

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "build": "electron-builder"
  },
  "build": {
    "appId": "com.example.myapp",
    "productName": "MyElectronApp",
    "directories": {
      "output": "release"
    },
    "files": [
      "main.js",
      "dist/**/*",
      "backend/**/*"
    ],
    "win": {
      "target": "nsis",
      "icon": "icon.ico"
    },
    "nsis": {
      "oneClick": false,
      "perMachine": true,
      "allowToChangeInstallationDirectory": true
    }
  },
  "devDependencies": {
    "electron": "^27.1.1",
    "electron-builder": "^24.14.1"
  }
}

⚠️ 如果没有图标文件,请删除 "icon": "icon.ico"


▶️ 9. 运行与调试

npm start

📦 10. 打包为 Windows 安装包(.exe)

npm run build

结果会在 release/ 文件夹下生成:

  • 安装包 .exe
  • 可执行文件 .exe(无需安装)

🧩 常见问题

  • 后端无法运行?

    • 请确认 backend/backend.exe 是合法的可执行文件,且无依赖缺失。
  • 路径报错?

    • 请用 path.join(__dirname, ...) 构建路径,避免硬编码。
  • 图标不显示?

    • 请确保 icon.ico 为标准 .ico 文件,最好为 256×256 像素。

✅ 你现在可以:

  • 使用 PowerShell 一键运行或打包
  • 整合任意前端(Vue/React/HTML)+ 后端(C++/Node.js/Python)
  • 打包为桌面应用程序
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

磊磊cpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值